XC Open source finite element analysis program
DistributedLinSOE.h
1 //----------------------------------------------------------------------------
2 // XC program; finite element analysis code
3 // for structural analysis and design.
4 //
5 // Copyright (C) Luis Claudio Pérez Tato
6 //
7 // This program derives from OpenSees <http://opensees.berkeley.edu>
8 // developed by the «Pacific earthquake engineering research center».
9 //
10 // Except for the restrictions that may arise from the copyright
11 // of the original program (see copyright_opensees.txt)
12 // XC is free software: you can redistribute it and/or modify
13 // it under the terms of the GNU General Public License as published by
14 // the Free Software Foundation, either version 3 of the License, or
15 // (at your option) any later version.
16 //
17 // This software is distributed in the hope that it will be useful, but
18 // WITHOUT ANY WARRANTY; without even the implied warranty of
19 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 // GNU General Public License for more details.
21 //
22 //
23 // You should have received a copy of the GNU General Public License
24 // along with this program.
25 // If not, see <http://www.gnu.org/licenses/>.
26 //----------------------------------------------------------------------------
27 //DistributedLinSOE.h
28 
29 #ifndef DistributedLinSOE_h
30 #define DistributedLinSOE_h
31 
32 
33 #include "utility/actor/actor/DistributedObj.h"
34 #include "xc_utils/src/nucleo/EntCmd.h"
35 #include <vector>
36 
37 namespace XC {
38 
39 class ID;
40 class Graph;
41 class CommParameters;
42 
44 //
47  {
48  protected:
49  std::vector<ID> localCol;
50 
51  int sendGraph(Graph &,ID &);
52  int getSubGraphs(Graph &);
53  int sendSizeData(const ID &);
54  void calcLocalMap(const int &);
55  int getSendID(CommParameters &);
56  int send(CommParameters &);
57  int receive(const CommParameters &);
58 
59  DistributedLinSOE(void);
60  public:
61  int setChannels(const ChannelQueue &);
62  };
63 } // end of XC namespace
64 
65 
66 #endif
67 
Base class for distributed systems of equations.
Definition: DistributedLinSOE.h:46
int getSubGraphs(Graph &)
From each distributed SOE recv it&#39;s graph and merge them into master graph.
Definition: DistributedLinSOE.cc:66
Definition: ID.h:77
Object distributed on many processes.
Definition: DistributedObj.h:44
The Graph class provides the abstraction of a graph, a collection of vertices and edges...
Definition: Graph.h:84
int sendGraph(Graph &, ID &)
Collect graph, send it off, vector back containing size of system, etc.
Definition: DistributedLinSOE.cc:45
Data about the postion, size,... of the object to transmit.
Definition: ChannelQueue.h:41
Communication parameters between processes.
Definition: CommParameters.h:65
================================================================================
Definition: ContinuaReprComponent.h:34
int sendSizeData(const ID &)
To each distributed SOE send the size data and merge them into master graph.
Definition: DistributedLinSOE.cc:88