MFEM
v4.5.2
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... | |
void | SetPointIndices () |
Sets the indices of each quadrature point on initialization. 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 (int asize, MemoryType mt) | |
Creates array of asize elements with a given MemoryType. More... | |
Array (IntegrationPoint *data_, int asize) | |
Creates array using an existing c-array of asize elements; allocsize is set to -asize to indicate that the data will not be deleted. More... | |
Array (const Array &src) | |
Copy constructor: deep copy from src. More... | |
Array (const Array< CT > &src) | |
Copy constructor (deep copy) from 'src', an Array of convertible type. More... | |
Array (const CT(&values)[N]) | |
Deep copy from a braced init-list of convertible type. More... | |
Array (Array< IntegrationPoint > &&src) | |
Move constructor ("steals" data from 'src') More... | |
~Array () | |
Destructor. More... | |
Array< IntegrationPoint > & | operator= (const Array< IntegrationPoint > &src) |
Assignment operator: deep copy from 'src'. More... | |
Array & | operator= (const Array< CT > &src) |
Assignment operator (deep copy) from src, an Array of convertible type. More... | |
void | operator= (const IntegrationPoint &a) |
Set all entries of the array to the provided constant. More... | |
Array< IntegrationPoint > & | operator= (const Array< CT > &src) |
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 |
Return the logical size of the array. More... | |
void | SetSize (int nsize) |
Change the 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) |
Reference access to the ith element. More... | |
const IntegrationPoint & | operator[] (int i) const |
Const reference access to the ith element. More... | |
int | Append (const IntegrationPoint &el) |
Append element 'el' 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 'el' to the array, resize if necessary. More... | |
IntegrationPoint & | Last () |
Return the last element in the array. More... | |
const IntegrationPoint & | Last () const |
Return the last element in the array. More... | |
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 of the array. More... | |
void | DeleteFirst (const IntegrationPoint &el) |
Delete the first entry with value == 'el'. More... | |
void | DeleteAll () |
Delete the whole array. More... | |
void | Copy (Array ©) const |
Create a copy of the internal array to the provided copy. 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 |
Copy sub array starting from offset out to the provided sa. More... | |
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 in ascending order. This requires operator< to be defined for T. More... | |
void | Sort (Compare cmp) |
Sorts the array in ascending order using the supplied comparison function object. More... | |
void | Unique () |
Removes duplicities from a sorted array. This requires operator== to be defined for T. More... | |
int | IsSorted () |
Return 1 if the array is sorted from lowest to highest. Otherwise return 0. More... | |
void | PartialSum () |
Fill the entries of the array with the cumulative sum of the entries. More... | |
IntegrationPoint | Sum () |
Return the sum of all the array entries using the '+'' operator for class 'T'. More... | |
void | Assign (const IntegrationPoint *) |
Copy data from a pointer. 'Size()' elements are copied. More... | |
void | CopyTo (U *dest) |
STL-like copyTo dest from begin to end. More... | |
void | CopyFrom (const U *src) |
Copy from src into this array. Copies enough entries to fill the Capacity size of this array. Careful this does not update the Size to match this Capacity after this. More... | |
IntegrationPoint * | begin () |
STL-like begin. Returns pointer to the first element of the array. More... | |
const IntegrationPoint * | begin () const |
STL-like begin. Returns const pointer to the first element of the array. More... | |
IntegrationPoint * | end () |
STL-like end. Returns pointer after the last element of the array. More... | |
const IntegrationPoint * | end () const |
STL-like end. Returns const pointer after the last element of the array. More... | |
std::size_t | MemoryUsage () const |
Returns the number of bytes allocated for the array including any reserve. More... | |
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) |
Static Protected Member Functions inherited from mfem::Array< IntegrationPoint > | |
static void | TypeAssert () |
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 214 of file intrules.hpp.
|
inlineexplicit |
Construct an integration rule with given number of points.
Definition at line 218 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 54 of file intrules.cpp.
|
inline |
Destroys an IntegrationRule object.
Definition at line 261 of file intrules.hpp.
|
inline |
Returns the number of the points in the integration rule.
Definition at line 247 of file intrules.hpp.
|
inline |
Returns the order of the integration rule.
Definition at line 240 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 83 of file intrules.cpp.
|
inline |
Returns a reference to the i-th integration point.
Definition at line 250 of file intrules.hpp.
|
inline |
Returns a const reference to the i-th integration point.
Definition at line 253 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 244 of file intrules.hpp.
void mfem::IntegrationRule::SetPointIndices | ( | ) |
Sets the indices of each quadrature point on initialization.
Note that most calls to IntegrationRule::SetSize should be paired with a call to SetPointIndices in order for the indices to be set correctly.
Definition at line 96 of file intrules.cpp.
|
friend |
Definition at line 93 of file intrules.hpp.