XC Open source finite element analysis program
CommParameters.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 
28 
29 #ifndef CommParameters_h
30 #define CommParameters_h
31 
32 #include "utility/matrix/ID.h"
33 #include <string>
34 #include "utility/actor/objectBroker/FEM_ObjectBroker.h"
35 #include "BrokedPtrCommMetaData.h"
36 #include <set>
37 #include "DbTagData.h"
38 
39 namespace XC {
40 class Channel;
41 //class FEM_ObjectBroker;
42 class MovableID;
43 class Matrix;
44 class Vector;
45 class BJtensor;
46 class MovableVector;
47 class MovableMatrix;
48 class MovableString;
49 class MovableObject;
50 class ArrayCommMetaData;
51 class MatrixCommMetaData;
52 class TensorCommMetaData;
53 class Material;
54 class TimeSeries;
55 class ResponseId;
56 class DomainDecompositionAnalysis;
57 class CrdTransf;
58 class CrdTransf2d;
59 class CrdTransf3d;
60 class BeamIntegration;
61 
63 //
66  {
67  private:
68  int commitTag;
69  Channel *canal;
70  FEM_ObjectBroker *broker;
71  public:
72  CommParameters(int cTag, Channel &);
73  CommParameters(int cTag, Channel &, FEM_ObjectBroker &);
74 
75  inline const int &getCommitTag(void) const
76  { return commitTag; }
77  int getDbTag(void) const;
78  bool isDatastore(void) const;
79  inline const Channel *getChannel(void) const
80  { return canal; }
81  inline Channel *getChannel(void)
82  { return canal; }
83 
84  int sendIdData(const DbTagData &,const int &);
85  int receiveIdData(DbTagData &,const int &) const;
86  int sendID(const ID &,const int &);
87  int receiveID(ID &v,const int &) const;
88  int sendVector(const Vector &,const int &);
89  int receiveVector(Vector &v,const int &) const;
90  int sendMatrix(const Matrix &,const int &);
91  int receiveMatrix(Matrix &v,const int &) const;
92 
93  int sendID(const ID &,DbTagData &, const CommMetaData &);
94  int receiveID(ID &v,DbTagData &, const CommMetaData &) const;
95  int sendIDPtr(ID *,DbTagData &, const ArrayCommMetaData &);
96  ID *receiveIDPtr(ID* &,DbTagData &, const ArrayCommMetaData &) const;
99  int sendMatrix(const Matrix &,DbTagData &, const CommMetaData &);
100  int receiveMatrix(Matrix &v,DbTagData &, const CommMetaData &) const;
101  int sendMatrixPtr(Matrix *ptr,DbTagData &, const MatrixCommMetaData &);
102  Matrix *receiveMatrixPtr(Matrix* &ptr,DbTagData &, const MatrixCommMetaData &) const;
103  int sendTensorPtr(BJtensor *ptr,DbTagData &, const TensorCommMetaData &);
107 
108  int sendMatrices(const std::vector<Matrix> &,DbTagData &, const CommMetaData &);
109  int receiveMatrices(std::vector<Matrix> &,DbTagData &, const CommMetaData &) const;
110 
111  int sendString(const std::string &,DbTagData &, const CommMetaData &);
112  int receiveString(std::string &v,DbTagData &, const CommMetaData &) const;
113  int sendStrings(std::deque<std::string> &,DbTagData &, const CommMetaData &);
114  int receiveStrings(std::deque<std::string> &,DbTagData &, const CommMetaData &) const;
115  int sendStrings(std::vector<std::string> &,DbTagData &, const CommMetaData &);
116  int receiveStrings(std::vector<std::string> &,DbTagData &, const CommMetaData &) const;
117 
118  int sendVector(const Vector &,DbTagData &, const CommMetaData &);
119  int receiveVector(Vector &v,DbTagData &, const CommMetaData &) const;
120  int sendVectors(std::vector<Vector> &,DbTagData &, const CommMetaData &);
121  int receiveVectors(std::vector<Vector> &v,DbTagData &, const CommMetaData &) const;
122  int sendVector(const std::vector<double> &,DbTagData &, const CommMetaData &);
123  int receiveVector(std::vector<double> &v,DbTagData &, const CommMetaData &) const;
124  int sendVectorPtr(Vector *ptr,DbTagData &, const ArrayCommMetaData &);
125  Vector *receiveVectorPtr(Vector* &ptr,DbTagData &, const ArrayCommMetaData &) const;
128  int sendTensor(const BJtensor &,DbTagData &, const CommMetaData &);
129  int receiveTensor(BJtensor &v,DbTagData &, const CommMetaData &) const;
130 
131  int sendDoublePtr(double *,DbTagData &, const ArrayCommMetaData &);
132  double *receiveDoublePtr(double* &,DbTagData &, const ArrayCommMetaData &) const;
133  int sendDouble(const double &,DbTagData &, const CommMetaData &);
134  int sendDoubles(const double &,const double &,DbTagData &, const CommMetaData &);
135  int sendDoubles(const double &,const double &,const double &,DbTagData &, const CommMetaData &);
136  int sendDoubles(const double &,const double &,const double &,const double &,DbTagData &, const CommMetaData &);
137  int sendDoubles(const double &,const double &,const double &,const double &,const double &,DbTagData &, const CommMetaData &);
138  int sendDoubles(const double &,const double &,const double &,const double &,const double &,const double &,DbTagData &, const CommMetaData &);
139  int receiveDouble(double &,DbTagData &, const CommMetaData &) const;
140  int receiveDoubles(double &,double &,DbTagData &, const CommMetaData &) const;
141  int receiveDoubles(double &,double &,double &,DbTagData &, const CommMetaData &) const;
142  int receiveDoubles(double &,double &,double &,double &,DbTagData &, const CommMetaData &) const;
143  int receiveDoubles(double &,double &,double &,double &,double &,DbTagData &, const CommMetaData &) const;
144  int receiveDoubles(double &,double &,double &,double &,double &,double &,DbTagData &, const CommMetaData &) const;
145 
146  int sendBool(const bool &,DbTagData &, const CommMetaData &);
147  int receiveBool(bool &,DbTagData &, const CommMetaData &) const;
148 
149  int sendInt(const int &,DbTagData &, const CommMetaData &);
150  int sendInts(const int &,const int &,DbTagData &, const CommMetaData &);
151  int sendInts(const int &,const int &,const int &,DbTagData &, const CommMetaData &);
152  int sendInts(const int &,const int &,const int &,const int &,DbTagData &, const CommMetaData &);
153  int sendInts(const int &,const int &,const int &,const int &,const int &,DbTagData &, const CommMetaData &);
154  int sendInts(const int &,const int &,const int &,const int &,const int &,const int &,DbTagData &, const CommMetaData &);
155  int receiveInt(int &,DbTagData &, const CommMetaData &) const;
156  int receiveInts(int &,int &,DbTagData &, const CommMetaData &) const;
157  int receiveInts(int &,int &,int &,DbTagData &, const CommMetaData &) const;
158  int receiveInts(int &,int &,int &,int &,DbTagData &, const CommMetaData &) const;
159  int receiveInts(int &,int &,int &,int &,int &,DbTagData &, const CommMetaData &) const;
160  int receiveInts(int &,int &,int &,int &,int &,int &,DbTagData &, const CommMetaData &) const;
161 
162  size_t sendSzt(const size_t &,DbTagData &, const CommMetaData &);
163  size_t sendSzts(const size_t &,const size_t &,DbTagData &, const CommMetaData &);
164  size_t sendSzts(const size_t &,const size_t &,const size_t &,DbTagData &, const CommMetaData &);
165  size_t sendSzts(const size_t &,const size_t &,const size_t &,const size_t &,DbTagData &, const CommMetaData &);
166  size_t sendSzts(const size_t &,const size_t &,const size_t &,const size_t &,const size_t &,DbTagData &, const CommMetaData &);
167  size_t sendSzts(const size_t &,const size_t &,const size_t &,const size_t &,const size_t &,const size_t &,DbTagData &, const CommMetaData &);
168  size_t receiveSzt(size_t &,DbTagData &, const CommMetaData &) const;
169  size_t receiveSzts(size_t &,size_t &,DbTagData &, const CommMetaData &) const;
170  size_t receiveSzts(size_t &,size_t &,size_t &,DbTagData &, const CommMetaData &) const;
171  size_t receiveSzts(size_t &,size_t &,size_t &,size_t &,DbTagData &, const CommMetaData &) const;
172  size_t receiveSzts(size_t &,size_t &,size_t &,size_t &,size_t &,DbTagData &, const CommMetaData &) const;
173  size_t receiveSzts(size_t &,size_t &,size_t &,size_t &,size_t &,size_t &,DbTagData &, const CommMetaData &) const;
174 
176 
178  int receiveMovable(MovableObject &,DbTagData &, const CommMetaData &) const;
180  template <class MOV>
181  MOV *receiveMovablePtr(MOV* &,DbTagData &, const PtrCommMetaData &) const;
182 
183 
184 
186  template <class T>
187  T *getBrokedPtr(const int &,T *(FEM_ObjectBroker::*ptrFunc)(int)) const;
188  template <class T>
189  T *getBrokedTagged(T* &ptr,const int &,const int &,const int &,T *(FEM_ObjectBroker::*ptrFunc)(int)) const;
190 
191  template <class MAT>
192  MAT *getBrokedMaterial(MAT* &,DbTagData &, const BrokedPtrCommMetaData &) const;
193  template <class HDL>
194  HDL *getBrokedDataOutputHandler(HDL* &,DbTagData &, const BrokedPtrCommMetaData &) const;
195  template <class GM>
196  GM *getBrokedGroundMotion(GM* &,DbTagData &, const BrokedPtrCommMetaData &) const;
197 
198  ConstraintHandler *brokeConstraintHandler(const int &) const;
199  DOF_Numberer *brokeNumberer(const int &) const;
200  AnalysisModel *brokeAnalysisModel(const int &) const;
201  LinearSOE *brokeDDLinearSOE(const int &,const int &) const;
202  LinearSOE *brokeLinearSOE(const int &,const int &) const;
203  IncrementalIntegrator *brokeIncrementalIntegrator(const int &) const;
204  StaticIntegrator *brokeStaticIntegrator(const int &) const;
205  TransientIntegrator *brokeTransientIntegrator(const int &) const;
206  DomainDecompAlgo *brokeDomainDecompAlgo(const int &) const;
207  EquiSolnAlgo *brokeEquiSolnAlgo(const int &) const;
208  GroundMotion *brokeGroundMotion(const int &) const;
209  DomainSolver *getNewDomainSolver(void) const;
210  DomainDecompositionAnalysis *getNewDomainDecompAnalysis(int, Subdomain &) const;
211  ConvergenceTest *getNewConvergenceTest(EntCmd *owr,int classTag) const;
212  TimeSeries *getNewTimeSeries(int classTag) const;
213  CrdTransf2d *getNewCrdTransf2d(int classTag) const;
214  CrdTransf3d *getNewCrdTransf3d(int classTag) const;
215  CrdTransf *getNewCrdTransf(int classTag) const;
216  ShellCrdTransf3dBase *getNewShellCrdTransf3d(int classTag) const;
217  BeamIntegration *getNewBeamIntegration(int classTag) const;
218  };
219 
220 template <class T>
221 T *CommParameters::getBrokedPtr(const int &classTag,T *(FEM_ObjectBroker::*ptrFunc)(int)) const
222  {
223  assert(broker);
224  T *retval=((*broker).*ptrFunc)(classTag);
225  return retval;
226  }
227 
228 template <class MAT>
229 MAT *CommParameters::getBrokedMaterial(MAT* &ptr,DbTagData &dbTagData, const BrokedPtrCommMetaData &md) const
230  {
231  if(!ptr)
232  {
233  assert(broker);
234  const int classTag= dbTagData.getDbTagDataPos(md.getPosClassTag());
235  Material *tmp= broker->getNewMaterial(classTag);
236  if(tmp)
237  {
238  ptr= dynamic_cast<MAT *>(tmp);
239  if(ptr)
240  {
241  const int res= receiveMovable(*ptr,dbTagData,md);
242  if(res<0)
243  std::cerr <<"WARNING - receiveMaterialPtr "
244  << "failed to receive material.\n";
245  }
246  else
247  {
248  delete tmp;
249  std::cerr << "CommParameters::getBrokedMaterial "
250  << " el material es de clase inadecuada."
251  << std::endl;
252  }
253  }
254  else
255  std::cerr << "getBrokedMaterial: "
256  << " broker could not create material of class type: "
257  << classTag << std::endl;;
258  }
259  return ptr;
260  }
261 
262 template <class HDL>
263 HDL *CommParameters::getBrokedDataOutputHandler(HDL* &ptr,DbTagData &dbTagData, const BrokedPtrCommMetaData &md) const
264  {
265  if(!ptr)
266  {
267  assert(broker);
268  const int classTag= dbTagData.getDbTagDataPos(md.getPosClassTag());
269  DataOutputHandler *tmp= broker->getPtrNewDataOutputHandler(classTag);
270  if(tmp)
271  {
272  ptr= dynamic_cast<HDL *>(tmp);
273  if(!ptr) delete tmp;
274  }
275  else
276  std::cerr << "getBrokedMaterial: "
277  << " broker could not create handler of class type: "
278  << classTag << std::endl;;
279  }
280  return ptr;
281  }
282 
283 template <class GM>
284 GM *CommParameters::getBrokedGroundMotion(GM* &ptr,DbTagData &dbTagData, const BrokedPtrCommMetaData &md) const
285  {
286  if(!ptr)
287  {
288  assert(broker);
289  const int classTag= dbTagData.getDbTagDataPos(md.getPosClassTag());
290  GroundMotion *tmp= broker->getNewGroundMotion(classTag);
291  if(tmp)
292  {
293  ptr= dynamic_cast<GM *>(tmp);
294  if(!ptr) delete tmp;
295  }
296  else
297  std::cerr << "getBrokedGroundMotion: "
298  << " broker could not create ground motion of class type: "
299  << classTag << std::endl;;
300  }
301  return ptr;
302  }
303 
304 template <class T>
305 T *CommParameters::getBrokedTagged(T* &ptr,const int &dbTag,const int &objTag,const int &classTag,T *(FEM_ObjectBroker::*ptrFunc)(int)) const
306  {
307  if(!ptr)
308  {
309  assert(broker);
310  T *retval=((*broker).*ptrFunc)(classTag);
311 
312  if(retval)
313  {
314  retval->setDbTag(dbTag);
315  retval->setTag(objTag);
316  ptr= retval;
317  }
318  else
319  std::cerr << "getBrokedTagged; no se pudo crear el objeto con classTag: "
320  << classTag << std::endl;
321  }
322  return ptr;
323  }
324 
325 template <class MOV>
326 MOV *CommParameters::receiveMovablePtr(MOV* &ptr,DbTagData &dbTagData, const PtrCommMetaData &meta) const
327  {
328  if(dbTagData.getDbTagDataPos(meta.getPosFlag()) == 0)
329  {
330  // make some room and read in the ID
331  if(!ptr)
332  {
333  ptr= new MOV();
334  if(!ptr)
335  std::cerr << "receiveMovableIDPtr -- ran out of memory\n";
336  }
337  if(ptr)
338  {
339  ptr->setDbTag(dbTagData.getDbTagDataPos(meta.getPosDbTag()));
340  int res= ptr->recvSelf(*this);
341  if(res < 0)
342  std::cerr << "receiveMovableIDPtr - failed to receive ID data\n";
343  }
344  }
345  return ptr;
346  }
347 
348 } // end of XC namespace
349 
350 #endif
int sendMovable(MovableObject &, DbTagData &, const CommMetaData &)
Sends a movable object through the channel being passed as parameter.
Definition: CommParameters.cc:959
CrdTransf provides the abstraction of a frame coordinate transformation. It is an abstract base class...
Definition: CrdTransf.h:87
int receiveVector(Vector &v, const int &) const
Recibe el vector.
Definition: CommParameters.cc:407
int sendTensorPtr(BJtensor *ptr, DbTagData &, const TensorCommMetaData &)
Envía a pointer al tensor through the channel being passed as parameter.
Definition: CommParameters.cc:255
Base class for static integrators.
Definition: StaticIntegrator.h:83
int receiveStrings(std::deque< std::string > &, DbTagData &, const CommMetaData &) const
Receives the string container through the channel being passed as parameter.
Definition: CommParameters.cc:360
ID * receiveIDPtr(ID *&, DbTagData &, const ArrayCommMetaData &) const
Receives an ID pointer through the communicator being passed as parameter.
Definition: CommParameters.cc:124
Base class for DOF numbererers.
Definition: DOF_Numberer.h:84
Base class for materials.
Definition: Material.h:85
int sendVector(const Vector &, const int &)
Sends vector.
Definition: CommParameters.cc:400
int sendMatrices(const std::vector< Matrix > &, DbTagData &, const CommMetaData &)
Sends the matrices.
Definition: CommParameters.cc:283
int sendDouble(const double &, DbTagData &, const CommMetaData &)
Sends a double through the channel being passed as parameter.
Definition: CommParameters.cc:554
IncrementalIntegrator is an algorithmic class for setting up the finite element equations in an incre...
Definition: IncrementalIntegrator.h:87
Definition: BJtensor.h:110
size_t sendSzts(const size_t &, const size_t &, DbTagData &, const CommMetaData &)
Envía the integers through the channel being passed as parameter.
Definition: CommParameters.cc:829
double * receiveDoublePtr(double *&, DbTagData &, const ArrayCommMetaData &) const
Recib los valores que contiene el array through the channel being passed as parameter.
Definition: CommParameters.cc:527
EquiSolnAlgo is an abstract base class, i.e. no objects of it&#39;s type can be created. Its subclasses deifine the sequence of operations to be performed in the analysis by static equilibrium of a finite element model.
Definition: EquiSolnAlgo.h:85
int sendIDPtr(ID *, DbTagData &, const ArrayCommMetaData &)
Sends an ID pointer through the communicator being passed as parameter.
Definition: CommParameters.cc:106
Definition: Vector.h:82
int sendVectorPtr(Vector *ptr, DbTagData &, const ArrayCommMetaData &)
Sends the Vector pointed by ptr through the channel being passed as parameter.
Definition: CommParameters.cc:467
int receiveDouble(double &, DbTagData &, const CommMetaData &) const
Recibe el double through the channel being passed as parameter.
Definition: CommParameters.cc:608
Vector que almacena los dbTags de los miembros de la clase.
Definition: DbTagData.h:43
int receiveTensor(BJtensor &v, DbTagData &, const CommMetaData &) const
Recibe el tensor through the channel being passed as parameter.
Definition: CommParameters.cc:342
int receiveDoubles(double &, double &, DbTagData &, const CommMetaData &) const
Recibe the doubles through the channel being passed as parameter.
Definition: CommParameters.cc:620
int getDbTag(void) const
Solicita al canal que devuelva un tag para la database.
Definition: CommParameters.cc:56
int sendID(const ID &, const int &)
Sends vector.
Definition: CommParameters.cc:72
int receiveIdData(DbTagData &, const int &) const
Recibe el miembro data through the channel being passed as parameter.
Definition: CommParameters.cc:396
bool isDatastore(void) const
Returns true if it&#39;s a data store.
Definition: CommParameters.cc:63
int sendMovablePtr(MovableObject *ptr, DbTagData &, const PtrCommMetaData &)
Sends a pointer to movable object through the channel being passed as parameter.
Definition: CommParameters.cc:980
int sendIdData(const DbTagData &, const int &)
Sends miembro data through the channel being passed as parameter.
Definition: CommParameters.cc:392
used to solve a system of equations and to do static condensation operations on the linear system of ...
Definition: DomainSolver.h:79
Vector * receiveVectorPtr(Vector *&ptr, DbTagData &, const ArrayCommMetaData &) const
Receives a Vector pointed by ptr through the channel being passed as parameter.
Definition: CommParameters.cc:485
FEM_ObjectBroker is is an object broker class for the finite element method. All methods are virtual ...
Definition: FEM_ObjectBroker.h:138
int sendMatrixPtr(Matrix *ptr, DbTagData &, const MatrixCommMetaData &)
Envía a pointer a la matriz through the channel being passed as parameter.
Definition: CommParameters.cc:209
BJtensor * receiveTensorPtr(BJtensor *&ptr, DbTagData &, const TensorCommMetaData &) const
Recibe a pointer a matriz through the channel being passed as parameter.
Definition: CommParameters.cc:263
int receiveString(std::string &v, DbTagData &, const CommMetaData &) const
Recibe la cadena de caracteres through the channel being passed as parameter.
Definition: CommParameters.cc:324
MovableVector * receiveMovableVectorPtr(MovableVector *&, DbTagData &, const PtrCommMetaData &)
Receives a MovableVector pointer through the channel being passed as parameter.
Definition: CommParameters.cc:172
convergence test.
Definition: ConvergenceTest.h:75
int receiveMatrix(Matrix &v, const int &) const
Recibe la matriz through the channel being passed as parameter.
Definition: CommParameters.cc:183
int receiveID(ID &v, const int &) const
Recibe el vector.
Definition: CommParameters.cc:79
Stiffness material contribution response identifiers.
Definition: ResponseId.h:60
int receiveInts(int &, int &, DbTagData &, const CommMetaData &) const
Recibe the integers through the channel being passed as parameter.
Definition: CommParameters.cc:763
Data to transmit for a pointer «broked».
Definition: BrokedPtrCommMetaData.h:39
Base class for 3D coordinate transformation.
Definition: CrdTransf3d.h:80
Object that can move between processes.
Definition: MovableObject.h:91
Matrix * receiveMatrixPtr(Matrix *&ptr, DbTagData &, const MatrixCommMetaData &) const
Recibe a pointer a matriz through the channel being passed as parameter.
Definition: CommParameters.cc:228
int receiveMovable(MovableObject &, DbTagData &, const CommMetaData &) const
Receives a movable object trhrough the channel being passed as parameter.
Definition: CommParameters.cc:969
Data about the position, size,... of the pointer to transmit.
Definition: PtrCommMetaData.h:38
const int & getDbTagDataPos(const size_t &i) const
Returns the integer in the position being passed as parameter.
Definition: DbTagData.cc:58
size_t receiveSzts(size_t &, size_t &, DbTagData &, const CommMetaData &) const
Recibe the integers through the channel being passed as parameter.
Definition: CommParameters.cc:884
int sendString(const std::string &, DbTagData &, const CommMetaData &)
Envía la cadena de caracteres through the channel being passed as parameter.
Definition: CommParameters.cc:316
Definition: ID.h:77
int receiveMatrices(std::vector< Matrix > &, DbTagData &, const CommMetaData &) const
Recibe las matrices.
Definition: CommParameters.cc:302
int receiveInt(int &, DbTagData &, const CommMetaData &) const
Recibe the integers through the channel being passed as parameter.
Definition: CommParameters.cc:751
Matrix that can move between processes.
Definition: MovableMatrix.h:43
Data about the address, size,... of the tensor to transmit.
Definition: TensorCommMetaData.h:40
int sendDoubles(const double &, const double &, DbTagData &, const CommMetaData &)
Envía the doubles through the channel being passed as parameter.
Definition: CommParameters.cc:563
Definition: Subdomain.h:87
int sendVectors(std::vector< Vector > &, DbTagData &, const CommMetaData &)
Sends the vector container through the channel being passed as parameter.
Definition: CommParameters.cc:448
Used when performing a domain decomposition analysis. It provides methods which can be invoked by a s...
Definition: DomainDecompositionAnalysis.h:81
Definition: Matrix.h:82
int sendBool(const bool &, DbTagData &, const CommMetaData &)
Sends bool through the channel being passed as parameter.
Definition: CommParameters.cc:682
Data about the position, size, ... of the array to transmit.
Definition: ArrayCommMetaData.h:41
int sendMovableMatrixPtr(MovableMatrix *, DbTagData &, const PtrCommMetaData &)
Sends a MovableMatrix pointer through the channel being passed as parameter.
Definition: CommParameters.cc:272
int sendMatrix(const Matrix &, const int &)
Envía la matriz through the channel being passed as parameter.
Definition: CommParameters.cc:176
int receiveVectors(std::vector< Vector > &v, DbTagData &, const CommMetaData &) const
Receives the vector container through the channel being passed as parameter.
Definition: CommParameters.cc:456
Channel is an abstract base class which defines the channel interface. A channel is a point of commun...
Definition: Channel.h:85
int sendStrings(std::deque< std::string > &, DbTagData &, const CommMetaData &)
Sends the string container through the channel being passed as parameter.
Definition: CommParameters.cc:352
MovableMatrix * receiveMovableMatrixPtr(MovableMatrix *&, DbTagData &, const PtrCommMetaData &)
Receives a MovableMatrix pointer through the channel being passed as parameter.
Definition: CommParameters.cc:278
Linea system of equations. This is the class definition for LinearSOE. LinearSOE is an abstract base ...
Definition: LinearSOE.h:86
ResponseId * receiveResponseIdPtr(ResponseId *&, DbTagData &, const ArrayCommMetaData &) const
Receives a ResponseId object.
Definition: CommParameters.cc:947
int sendInts(const int &, const int &, DbTagData &, const CommMetaData &)
Envía the integers through the channel being passed as parameter.
Definition: CommParameters.cc:706
Data about the position, size,... of the object to transmit.
Definition: MatrixCommMetaData.h:40
size_t receiveSzt(size_t &, DbTagData &, const CommMetaData &) const
Recibe the integers through the channel being passed as parameter.
Definition: CommParameters.cc:874
Vector that can move between processes.
Definition: MovableVector.h:41
int sendMovableVectorPtr(MovableVector *, DbTagData &, const PtrCommMetaData &)
Sends a MovableVector pointer through the channel being passed as parameter.
Definition: CommParameters.cc:165
MovableID * receiveMovableIDPtr(MovableID *&, DbTagData &, const PtrCommMetaData &)
Receives a MovableID pointer through the channel being passed as parameter.
Definition: CommParameters.cc:159
int sendInt(const int &, DbTagData &, const CommMetaData &)
Sends the integer through the channel being passed as parameter.
Definition: CommParameters.cc:697
int sendTensor(const BJtensor &, DbTagData &, const CommMetaData &)
Sends tensor through the channel being passed as parameter.
Definition: CommParameters.cc:334
Definition: DataOutputHandler.h:61
Los objetos de esta clase, dan acceso a los objetos FE_Element y DOF_Group creados por el Constraint ...
Definition: AnalysisModel.h:113
int sendMovableIDPtr(MovableID *, DbTagData &, const PtrCommMetaData &)
Sends a MovableID pointer through the channel being passed as parameter.
Definition: CommParameters.cc:152
Base class for ground motions.
Definition: GroundMotion.h:83
ConstraintHandlers enforce the single and multi freedom constraints that exist in the domain by creat...
Definition: ConstraintHandler.h:94
ID that can move between processes.
Definition: MovableID.h:43
int receiveBool(bool &, DbTagData &, const CommMetaData &) const
Sends the bool through the channel being passed as parameter.
Definition: CommParameters.cc:687
Communication parameters between processes.
Definition: CommParameters.h:65
Base class for 2D coordinate transformation.
Definition: CrdTransf2d.h:77
================================================================================
Definition: ContinuaReprComponent.h:34
Solution algorithm for domain decomposition.
Definition: DomainDecompAlgo.h:83
Time variation of loads.A TimeSeries object is used to determine the load factor to be applied to the...
Definition: TimeSeries.h:81
Base class for 3D coordinate transformations.
Definition: ShellCrdTransf3dBase.h:48
Data about the index, size,,... of the object to transmit.
Definition: CommMetaData.h:38
Base class for integration on beam elements.
Definition: BeamIntegration.h:73
int sendBrokedPtr(MovableObject *ptr, DbTagData &, const BrokedPtrCommMetaData &)
Envía a pointer to movable object through the channel being passed as parameter.
Definition: CommParameters.cc:996
Base class for dynamic equations of motion integrators.
Definition: TransientIntegrator.h:84
int sendDoublePtr(double *, DbTagData &, const ArrayCommMetaData &)
Envía los valores que contiene el array through the channel being passed as parameter.
Definition: CommParameters.cc:511
CommParameters(int cTag, Channel &)
Constructor.
Definition: CommParameters.cc:48
size_t sendSzt(const size_t &, DbTagData &, const CommMetaData &)
Sends entero through the channel being passed as parameter.
Definition: CommParameters.cc:824