WARPXM v1.10.0
Loading...
Searching...
No Matches
patch_array.h
Go to the documentation of this file.
1#ifndef PATCH_ARRAY_T_H
2#define PATCH_ARRAY_T_H
3
4// STL includes
5#include <algorithm>
6#include <limits>
7
8// Wx includes
9#include "lib/wxany.h"
10
11// Wm includes
12#include "array/array.h"
14
19namespace wxm
20{
21namespace dfem
22{
23namespace array
24{
31{
32public:
39
42
44 virtual ~patch_array_t();
45
52 {
53 return _patch;
54 }
55
63 virtual void dump(WxIoBase& io,
64 WxIoNodeType& group_node,
65 bool include_ghost_elements = false) const;
66
75 virtual void load(WxIoBase& io,
76 const WxIoNodeType& group_node,
77 bool include_ghost_elements = false);
78
84 const WxRange& element_range() const
85 {
86 return _element_range;
87 }
88
89 friend std::ostream& operator<<(std::ostream& stream,
91 {
92 stream << static_cast<const wxm::array::patch_array_t&>(array);
93 return stream;
94 }
95
96protected:
99
102
105
108
111
115
119
120private:
123
125 patch_array_t& operator=(const patch_array_t& other);
126};
127} // namespace array
128} // namespace dfem
129} // namespace wxm
130
133#endif // PATCH_ARRAY_T_H
Definition: wmunstructuredpatch.h:22
Provides an abstract interface for access to hierachical datasets.
Definition: wxiobase.h:25
WxRange represents a hyper-rectangular domain of an n-dimensional space of integers.
Definition: wxrange.h:23
Definition: array.h:190
The patch_array_t class defines a dataset associated with a patch of the domain This class will be us...
Definition: patch_array.h:31
virtual void dump(WxIoBase &io, WxIoNodeType &group_node, bool include_ghost_elements=false) const
Write out the array to file.
WxRange _import_range
Range describing data in import region.
Definition: patch_array.h:107
friend std::ostream & operator<<(std::ostream &stream, const wxm::dfem::array::patch_array_t &array)
Definition: patch_array.h:89
WxRange _virtual_range
Range describing data in virtual region.
Definition: patch_array.h:110
WxRange _global_range
Range describing global dataset in subdomain - used for data io.
Definition: patch_array.h:114
patch_array_t(const WmUnstructuredPatch &patch, const WxRange &element_range)
Constructor for patch_array_t.
WxRange _local_range
Range describing local dataset in subdomain - used for data io.
Definition: patch_array.h:118
const WmUnstructuredPatch & _patch
Patch associated with array.
Definition: patch_array.h:98
virtual void load(WxIoBase &io, const WxIoNodeType &group_node, bool include_ghost_elements=false)
Load object from file.
const WxRange & element_range() const
Get the range of data associated with each mesh element.
Definition: patch_array.h:84
patch_array_t(const patch_array_t &other)
Copy Constructor.
virtual ~patch_array_t()
Virtual Destructor.
WxRange _element_range
Range describing each element.
Definition: patch_array.h:101
const WmUnstructuredPatch & patch() const
Get the patch this array is setup for.
Definition: patch_array.h:51
WxRange _export_range
Range describing data in export region.
Definition: patch_array.h:104
Base namespace for everything not included in the global namespace.
Definition: field_source.h:8
Provides a means for derived messengers to return implimentation specific message status flags and da...
Definition: wxiotmpl.h:23