MFEM  v3.3
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Friends | List of all members
mfem::IntegrationRule Class Reference

Class for an integration rule - an Array of IntegrationPoint. More...

#include <intrules.hpp>

Inheritance diagram for mfem::IntegrationRule:
[legend]
Collaboration diagram for mfem::IntegrationRule:
[legend]

Public Member Functions

 IntegrationRule ()
 
 IntegrationRule (int NP)
 Construct an integration rule with given number of points. More...
 
 IntegrationRule (IntegrationRule &irx, IntegrationRule &iry)
 Tensor product of two 1D integration rules. More...
 
 IntegrationRule (IntegrationRule &irx, IntegrationRule &iry, IntegrationRule &irz)
 Tensor product of three 1D integration rules. More...
 
int GetNPoints () const
 Returns the number of the points in the integration rule. More...
 
IntegrationPointIntPoint (int i)
 Returns a reference to the i-th integration point. More...
 
const IntegrationPointIntPoint (int i) const
 Returns a const reference to the i-th integration point. More...
 
 ~IntegrationRule ()
 Destroys an IntegrationRule object. More...
 
- Public Member Functions inherited from mfem::Array< IntegrationPoint >
 Array (int asize=0, int ainc=0)
 Creates array of asize elements. More...
 
 Array (IntegrationPoint *_data, int asize, int ainc=0)
 
 ~Array ()
 Destructor. More...
 
 operator IntegrationPoint * ()
 Return the data as 'T *'. More...
 
 operator const IntegrationPoint * () const
 Return the data as 'const T *'. More...
 
IntegrationPointGetData ()
 Returns the data. More...
 
const IntegrationPointGetData () const
 Returns the data. More...
 
bool OwnsData () const
 Return true if the data will be deleted by the array. More...
 
void StealData (IntegrationPoint **p)
 Changes the ownership of the data. More...
 
void LoseData ()
 NULL-ifies the data. More...
 
void MakeDataOwner ()
 Make the Array own the data. More...
 
int Size () const
 Logical size of the array. More...
 
void SetSize (int nsize)
 Change logical size of the array, keep existing entries. More...
 
void SetSize (int nsize, const IntegrationPoint &initval)
 Same as SetSize(int) plus initialize new entries with 'initval'. More...
 
int Capacity () const
 
void Reserve (int capacity)
 Ensures that the allocated size is at least the given size. More...
 
IntegrationPointoperator[] (int i)
 Access element. More...
 
const IntegrationPointoperator[] (int i) const
 Access const element. More...
 
int Append (const IntegrationPoint &el)
 Append element to array, resize if necessary. More...
 
int Append (const Array< IntegrationPoint > &els)
 Append another array to this array, resize if necessary. More...
 
int Prepend (const IntegrationPoint &el)
 Prepend an element to the array, resize if necessary. More...
 
IntegrationPointLast ()
 Return the last element in the array. More...
 
const IntegrationPointLast () const
 
int Union (const IntegrationPoint &el)
 Append element when it is not yet in the array, return index. More...
 
int Find (const IntegrationPoint &el) const
 Return the first index where 'el' is found; return -1 if not found. More...
 
void DeleteLast ()
 Delete the last entry. More...
 
void DeleteFirst (const IntegrationPoint &el)
 Delete the first 'el' entry. More...
 
void DeleteAll ()
 Delete whole array. More...
 
void Copy (Array &copy) const
 Create a copy of the current array. More...
 
void MakeRef (IntegrationPoint *, int)
 Make this Array a reference to a pointer. More...
 
void MakeRef (const Array &master)
 Make this Array a reference to 'master'. More...
 
void GetSubArray (int offset, int sa_size, Array< IntegrationPoint > &sa)
 
void Print (std::ostream &out=std::cout, int width=4)
 Prints array to stream with width elements per row. More...
 
void Save (std::ostream &out, int fmt=0) const
 Save the Array to the stream out using the format fmt. The format fmt can be: More...
 
void Load (std::istream &in, int fmt=0)
 Read an Array from the stream in using format fmt. The format fmt can be: More...
 
void Load (int new_size, std::istream &in)
 Set the Array size to new_size and read that many entries from the stream in. More...
 
IntegrationPoint Max () const
 Find the maximal element in the array, using the comparison operator < for class T. More...
 
IntegrationPoint Min () const
 Find the minimal element in the array, using the comparison operator < for class T. More...
 
void Sort ()
 Sorts the array. This requires operator< to be defined for T. More...
 
void Sort (Compare cmp)
 Sorts the array using the supplied comparison function object. More...
 
void Unique ()
 
int IsSorted ()
 return true if the array is sorted. More...
 
void PartialSum ()
 Partial Sum. More...
 
IntegrationPoint Sum ()
 Sum all entries. More...
 
void operator= (const IntegrationPoint &a)
 
void Assign (const IntegrationPoint *)
 Copy data from a pointer. Size() elements are copied. More...
 
IntegrationPointbegin () const
 
IntegrationPointend () const
 
long MemoryUsage () const
 

Friends

class IntegrationRules
 

Additional Inherited Members

- Protected Member Functions inherited from mfem::BaseArray
 BaseArray ()
 
 BaseArray (int asize, int ainc, int elmentsize)
 Creates array of asize elements of size elementsize. More...
 
 ~BaseArray ()
 Free the allocated memory. More...
 
void GrowSize (int minsize, int elementsize)
 
- Protected Attributes inherited from mfem::BaseArray
void * data
 Pointer to data. More...
 
int size
 Size of the array. More...
 
int allocsize
 Size of the allocated memory. More...
 
int inc
 

Detailed Description

Class for an integration rule - an Array of IntegrationPoint.

Definition at line 83 of file intrules.hpp.

Constructor & Destructor Documentation

mfem::IntegrationRule::IntegrationRule ( )
inline

Definition at line 203 of file intrules.hpp.

mfem::IntegrationRule::IntegrationRule ( int  NP)
inlineexplicit

Construct an integration rule with given number of points.

Definition at line 206 of file intrules.hpp.

mfem::IntegrationRule::IntegrationRule ( IntegrationRule irx,
IntegrationRule iry 
)

Tensor product of two 1D integration rules.

Definition at line 30 of file intrules.cpp.

mfem::IntegrationRule::IntegrationRule ( IntegrationRule irx,
IntegrationRule iry,
IntegrationRule irz 
)

Tensor product of three 1D integration rules.

Definition at line 53 of file intrules.cpp.

mfem::IntegrationRule::~IntegrationRule ( )
inline

Destroys an IntegrationRule object.

Definition at line 231 of file intrules.hpp.

Member Function Documentation

int mfem::IntegrationRule::GetNPoints ( ) const
inline

Returns the number of the points in the integration rule.

Definition at line 222 of file intrules.hpp.

IntegrationPoint& mfem::IntegrationRule::IntPoint ( int  i)
inline

Returns a reference to the i-th integration point.

Definition at line 225 of file intrules.hpp.

const IntegrationPoint& mfem::IntegrationRule::IntPoint ( int  i) const
inline

Returns a const reference to the i-th integration point.

Definition at line 228 of file intrules.hpp.

Friends And Related Function Documentation

friend class IntegrationRules
friend

Definition at line 86 of file intrules.hpp.


The documentation for this class was generated from the following files: