36 :
Base( b, c), _window( NULL), _to_recv( NULL) {}
44 :
Base(b,c,com), _buf_dim(0), _comm( com), _replicated(false),
45 _prefix( pre==NULL?b->name():pre), _IO_format( get_sdv_format(format)) {
47 std::vector< Pane*> pns;
panes(pns);
48 std::vector< Pane*>::iterator pit=pns.begin(), piend=pns.end();
49 for ( ; pit != piend; ++pit) {
50 (*pit)->_window =
this;
57 const COM::Window::Proc_map &proc_map =
_base->proc_map();
59 for ( COM::Window::Proc_map::const_iterator
60 it=proc_map.begin(),
iend=proc_map.end(); it!=
iend; ++it) {
75 Pane_set::iterator pit =
_pane_set.find( pid);
86 Pane_set::const_iterator pit =
_pane_set.find( pid);
106 for (
int i=0;
i<size; ++
i)
111 if ( !init_emm)
continue;
119 if ( pane.
_base->is_structured()) {
120 for (
int i=0;
i<
n; ++
i, ++
k) {
125 std::vector< const COM::Connectivity*> elems;
126 pane.
_base->elements( elems);
128 for ( std::vector<const COM::Connectivity*>::const_iterator
129 it = elems.begin(); it != elems.end(); ++it) {
130 const int nn = (*it)->size_of_nodes_pe();
131 for (
int i=1,size=(*it)->size_of_elements();
i<=size; ++
i, ++
k) {
165 pane.
_to_recv = ( tag == NULL) ? (
int *)NULL :
181 for (
int i=0;
i<size; ++
i)
218 pane_ids.resize(0); pane_ids.reserve( ids.size());
219 pane_ids.insert( pane_ids.end(), ids.begin(), ids.end());
RFC_Pane_transfer & pane(const int pid)
void free_vector(std::vector< _TT > &v)
std::vector< int > _num_panes
std::map< int, RFC_Pane_transfer * > _replic_panes
RFC_Window_transfer(COM::Window *b, int color, MPI_Comm com, const char *pre=NULL, const char *format=NULL)
void delete_facial_buffers()
void set_tags(const COM::Attribute *tag)
const Attribute * attribute(const char *f) const
Retrieve an attribute object from the base using the attribute name.
virtual ~RFC_Pane_transfer()
Base * _base
Reference to its base object.
RFC_Pane_transfer(COM::Pane *b, int c)
Facial_data facial_buffer(int)
int size_of_faces() const
The total number of faces in the pane.
void panes(std::vector< Pane * > &ps)
Get a vector of local panes contained in the window.
Base * _base
A reference to its base COM::Window object.
#define RFC_END_NAME_SPACE
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE knode iend
RFC_Data< Tag_facial > Facial_data
std::map< int, std::pair< int, int > > _pane_map
void delete_nodal_buffers()
RFC_Data< Tag_nodal > Nodal_data
#define RFC_BEGIN_NAME_SPACE
Nodal_data nodal_buffer(int)
void incident_panes(std::vector< int > &pane_ids)
Determine the remote panes that are incident with local panes.
std::vector< Node_ID > _subnode_counterparts
Ids of counterparts of subnodes.
void init_nodal_buffers(const Nodal_data &nd, int n, bool init_emm)
int size_of_nodes() const
Get the total number of nodes contained the window.
Pane_set _pane_set
The set of panes contained in the window.
void init_facial_buffers(const Facial_data &nd, int)
std::vector< Real > _emm_buffer
std::vector< std::vector< Real > > _buffer
virtual ~RFC_Window_transfer()
std::vector< int > _emm_offset
std::vector< Face_ID > _subface_counterparts
Ids of counterparts of faces.