MFEM
v4.1.0
Finite element discretization library
|
Class for an integration rule - an Array of IntegrationPoint. More...
#include <intrules.hpp>
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 | GetOrder () const |
Returns the order of the integration rule. More... | |
void | SetOrder (const int order) |
Sets the order of the integration rule. This is only for keeping order information, it does not alter any data in the IntegrationRule. More... | |
int | GetNPoints () const |
Returns the number of the points in the integration rule. More... | |
IntegrationPoint & | IntPoint (int i) |
Returns a reference to the i-th integration point. More... | |
const IntegrationPoint & | IntPoint (int i) const |
Returns a const reference to the i-th integration point. More... | |
const Array< double > & | GetWeights () const |
Return the quadrature weights in a contiguous array. More... | |
~IntegrationRule () | |
Destroys an IntegrationRule object. More... | |
Public Member Functions inherited from mfem::Array< IntegrationPoint > | |
Array () | |
Creates an empty array. More... | |
Array (MemoryType mt) | |
Creates an empty array with a given MemoryType. More... | |
Array (int asize) | |
Creates array of asize elements. More... | |
Array (IntegrationPoint *_data, int asize) | |
Array (const Array &src) | |
Copy constructor: deep copy. More... | |
Array (const Array< CT > &src) | |
Copy constructor (deep copy) from an Array of convertable type. More... | |
~Array () | |
Destructor. More... | |
Array< IntegrationPoint > & | operator= (const Array< IntegrationPoint > &src) |
Assignment operator: deep copy. More... | |
Array & | operator= (const Array< CT > &src) |
Assignment operator (deep copy) from an Array of convertable type. More... | |
void | operator= (const IntegrationPoint &a) |
operator IntegrationPoint * () | |
Return the data as 'T *'. More... | |
operator const IntegrationPoint * () const | |
Return the data as 'const T *'. More... | |
IntegrationPoint * | GetData () |
Returns the data. More... | |
const IntegrationPoint * | GetData () const |
Returns the data. More... | |
Memory< IntegrationPoint > & | GetMemory () |
Return a reference to the Memory object used by the Array. More... | |
const Memory< IntegrationPoint > & | GetMemory () const |
Return a reference to the Memory object used by the Array, const version. More... | |
bool | UseDevice () const |
Return the device flag of the Memory object used by the Array. 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 () const |
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... | |
void | SetSize (int nsize, MemoryType mt) |
Resize the array to size nsize using MemoryType mt. Note that unlike the other versions of SetSize(), the current content of the array is not preserved. More... | |
int | Capacity () const |
void | Reserve (int capacity) |
Ensures that the allocated size is at least the given size. More... | |
IntegrationPoint & | operator[] (int i) |
Access element. More... | |
const IntegrationPoint & | operator[] (int i) const |
Access const element. More... | |
int | Append (const IntegrationPoint &el) |
Append element to array, resize if necessary. More... | |
int | Append (const IntegrationPoint *els, int nels) |
Append another array to this 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... | |
IntegrationPoint & | Last () |
Return the last element in the array. More... | |
const IntegrationPoint & | Last () 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... | |
int | FindSorted (const IntegrationPoint &el) const |
Do bisection search for 'el' in a sorted array; 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 ©) 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) const |
void | Print (std::ostream &out=mfem::out, int width=4) const |
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 | Assign (const IntegrationPoint *) |
Copy data from a pointer. Size() elements are copied. More... | |
void | CopyTo (U *dest) |
void | CopyFrom (const U *src) |
IntegrationPoint * | begin () |
const IntegrationPoint * | begin () const |
IntegrationPoint * | end () |
const IntegrationPoint * | end () const |
long | MemoryUsage () const |
const IntegrationPoint * | Read (bool on_dev=true) const |
Shortcut for mfem::Read(a.GetMemory(), a.Size(), on_dev). More... | |
const IntegrationPoint * | HostRead () const |
Shortcut for mfem::Read(a.GetMemory(), a.Size(), false). More... | |
IntegrationPoint * | Write (bool on_dev=true) |
Shortcut for mfem::Write(a.GetMemory(), a.Size(), on_dev). More... | |
IntegrationPoint * | HostWrite () |
Shortcut for mfem::Write(a.GetMemory(), a.Size(), false). More... | |
IntegrationPoint * | ReadWrite (bool on_dev=true) |
Shortcut for mfem::ReadWrite(a.GetMemory(), a.Size(), on_dev). More... | |
IntegrationPoint * | HostReadWrite () |
Shortcut for mfem::ReadWrite(a.GetMemory(), a.Size(), false). More... | |
Friends | |
class | IntegrationRules |
Additional Inherited Members | |
Protected Member Functions inherited from mfem::Array< IntegrationPoint > | |
void | GrowSize (int minsize) |
Protected Attributes inherited from mfem::Array< IntegrationPoint > | |
Memory< IntegrationPoint > | data |
Pointer to data. More... | |
int | size |
Size of the array. More... | |
Class for an integration rule - an Array of IntegrationPoint.
Definition at line 90 of file intrules.hpp.
|
inline |
Definition at line 217 of file intrules.hpp.
|
inlineexplicit |
Construct an integration rule with given number of points.
Definition at line 221 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 55 of file intrules.cpp.
|
inline |
Destroys an IntegrationRule object.
Definition at line 259 of file intrules.hpp.
|
inline |
Returns the number of the points in the integration rule.
Definition at line 245 of file intrules.hpp.
|
inline |
Returns the order of the integration rule.
Definition at line 238 of file intrules.hpp.
const Array< double > & mfem::IntegrationRule::GetWeights | ( | ) | const |
Return the quadrature weights in a contiguous array.
If a contiguous array is not required, the weights can be accessed with a call like this: IntPoint(i).weight
.
Definition at line 85 of file intrules.cpp.
|
inline |
Returns a reference to the i-th integration point.
Definition at line 248 of file intrules.hpp.
|
inline |
Returns a const reference to the i-th integration point.
Definition at line 251 of file intrules.hpp.
|
inline |
Sets the order of the integration rule. This is only for keeping order information, it does not alter any data in the IntegrationRule.
Definition at line 242 of file intrules.hpp.
|
friend |
Definition at line 93 of file intrules.hpp.