Classes | |
class | ExcInvalidCombinationOfDimensions |
Public Member Functions | |
Patch () | |
bool | operator== (const Patch &patch) const |
unsigned int | memory_consumption () const |
Public Attributes | |
Point< spacedim > | vertices [GeometryInfo< dim >::vertices_per_cell] |
unsigned int | neighbors [GeometryInfo< dim >::faces_per_cell] |
unsigned int | patch_index |
unsigned int | n_subdivisions |
Table< 2, float > | data |
bool | points_are_available |
Static Public Attributes | |
static const unsigned int | space_dim = spacedim |
static const unsigned int | no_neighbor = numbers::invalid_unsigned_int |
dim
space dimensions.A patch consists of the following data:
See the general documentation of the DataOutBase
class for more information on its contents and purposes. In the case of two dimensions, the next picture ist an example of n_subdivision
= 4 because the number of (sub)cells within each patch is equal to 2^dim
.
DataOutBase::Patch< dim, spacedim >::Patch | ( | ) |
Default constructor. Sets n_subdivisions
to one.
bool DataOutBase::Patch< dim, spacedim >::operator== | ( | const Patch< dim, spacedim > & | patch | ) | const |
Compare the present patch for equality with another one. This is used in a few of the automated tests in our testsuite.
unsigned int DataOutBase::Patch< dim, spacedim >::memory_consumption | ( | ) | const |
Determine an estimate for the memory consumption (in bytes) of this object. Since sometimes the size of objects can not be determined exactly (for example: what is the memory consumption of an STL std::map
type with a certain number of elements?), this is only an estimate. however often quite close to the true value.
const unsigned int DataOutBase::Patch< dim, spacedim >::space_dim = spacedim [static] |
Make the spacedim
template parameter available.
Point<spacedim> DataOutBase::Patch< dim, spacedim >::vertices[GeometryInfo< dim >::vertices_per_cell] |
Corner points of a patch. Inner points are computed by a multilinear transform of the unit cell to the cell specified by these corner points. The order of points is the same as for cells in the triangulation.
unsigned int DataOutBase::Patch< dim, spacedim >::neighbors[GeometryInfo< dim >::faces_per_cell] |
Numbers of neighbors of a patch. OpenDX format requires neighbor information for advanced output. Here the neighborship relationship of patches is stored. During output, this must be transformed into neighborship of sub-grid cells.
unsigned int DataOutBase::Patch< dim, spacedim >::patch_index |
Number of this patch. Since we are not sure patches are handled in the same order, always, we better store this.
unsigned int DataOutBase::Patch< dim, spacedim >::n_subdivisions |
Number of subdivisions with which this patch is to be written. 1
means no subdivision, 2
means bisection, 3
trisection, etc.
Table<2,float> DataOutBase::Patch< dim, spacedim >::data |
Data vectors. The format is as follows: data(i,.)
denotes the data belonging to the i
th data vector. data.n()
therefore equals the number of output points; this number is (subdivisions+1)^{dim
}. data.m()
equals the number of data vectors.
Within each column, data(.,j)
are the data values at the output point j
, where j
denotes the usual lexicographic ordering in deal.II. This is also the order of points as provided by the QIterated
class when used with the QTrapez
class as subquadrature.
Since the number of data vectors is usually the same for all patches to be printed, data.size()
should yield the same value for all patches provided. The exception are patches for which points_are_available are set, where the actual coordinates of the point are appended to the 'data' field, see the documentation of the points_are_available flag.
bool DataOutBase::Patch< dim, spacedim >::points_are_available |
Bool flag indicating, whether the coordinates of the inner patch points are appended to the data
table (@ true) or not (@ false), where the second is the standard and can be found for all cells in the interior of a domain.
On the boundary of a domain, patch points are evaluated using a Mapping and therefore have to be stored inside the patch, as the Mapping and the corresponding boundary information are no longer available later on when we actually write the patch out to an output stream.
const unsigned int DataOutBase::Patch< dim, spacedim >::no_neighbor = numbers::invalid_unsigned_int [static] |
Value to be used if this patch has no neighbor on one side.
Referenced by DataOut_DoFData< DH, patch_dim, patch_space_dim >::merge_patches().