xc
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 sendBools(const bool &,const bool &,DbTagData &, const CommMetaData &);
148  int sendBools(const bool &,const bool &,const bool &,DbTagData &, const CommMetaData &);
149  int sendBools(const bool &,const bool &,const bool &,const bool &,DbTagData &, const CommMetaData &);
150  int sendBools(const bool &,const bool &,const bool &,const bool &,const bool &,DbTagData &, const CommMetaData &);
151  int sendBools(const bool &,const bool &,const bool &,const bool &,const bool &,const bool &,DbTagData &, const CommMetaData &);
152  int receiveBool(bool &,DbTagData &, const CommMetaData &) const;
153  int receiveBools(bool &,bool &,DbTagData &, const CommMetaData &) const;
154  int receiveBools(bool &,bool &,bool &,DbTagData &, const CommMetaData &) const;
155  int receiveBools(bool &,bool &,bool &,bool &,DbTagData &, const CommMetaData &) const;
156  int receiveBools(bool &,bool &,bool &,bool &,bool &,DbTagData &, const CommMetaData &) const;
157  int receiveBools(bool &,bool &,bool &,bool &,bool &,bool &,DbTagData &, const CommMetaData &) const;
158 
159  int sendInt(const int &,DbTagData &, const CommMetaData &);
160  int sendInts(const int &,const int &,DbTagData &, const CommMetaData &);
161  int sendInts(const int &,const int &,const int &,DbTagData &, const CommMetaData &);
162  int sendInts(const int &,const int &,const int &,const int &,DbTagData &, const CommMetaData &);
163  int sendInts(const int &,const int &,const int &,const int &,const int &,DbTagData &, const CommMetaData &);
164  int sendInts(const int &,const int &,const int &,const int &,const int &,const int &,DbTagData &, const CommMetaData &);
165  int receiveInt(int &,DbTagData &, const CommMetaData &) const;
166  int receiveInts(int &,int &,DbTagData &, const CommMetaData &) const;
167  int receiveInts(int &,int &,int &,DbTagData &, const CommMetaData &) const;
168  int receiveInts(int &,int &,int &,int &,DbTagData &, const CommMetaData &) const;
169  int receiveInts(int &,int &,int &,int &,int &,DbTagData &, const CommMetaData &) const;
170  int receiveInts(int &,int &,int &,int &,int &,int &,DbTagData &, const CommMetaData &) const;
171 
172  size_t sendSzt(const size_t &,DbTagData &, const CommMetaData &);
173  size_t sendSzts(const size_t &,const size_t &,DbTagData &, const CommMetaData &);
174  size_t sendSzts(const size_t &,const size_t &,const size_t &,DbTagData &, const CommMetaData &);
175  size_t sendSzts(const size_t &,const size_t &,const size_t &,const size_t &,DbTagData &, const CommMetaData &);
176  size_t sendSzts(const size_t &,const size_t &,const size_t &,const size_t &,const size_t &,DbTagData &, const CommMetaData &);
177  size_t sendSzts(const size_t &,const size_t &,const size_t &,const size_t &,const size_t &,const size_t &,DbTagData &, const CommMetaData &);
178  size_t receiveSzt(size_t &,DbTagData &, const CommMetaData &) const;
179  size_t receiveSzts(size_t &,size_t &,DbTagData &, const CommMetaData &) const;
180  size_t receiveSzts(size_t &,size_t &,size_t &,DbTagData &, const CommMetaData &) const;
181  size_t receiveSzts(size_t &,size_t &,size_t &,size_t &,DbTagData &, const CommMetaData &) const;
182  size_t receiveSzts(size_t &,size_t &,size_t &,size_t &,size_t &,DbTagData &, const CommMetaData &) const;
183  size_t receiveSzts(size_t &,size_t &,size_t &,size_t &,size_t &,size_t &,DbTagData &, const CommMetaData &) const;
184 
186 
188  int receiveMovable(MovableObject &,DbTagData &, const CommMetaData &) const;
190  template <class MOV>
191  MOV *receiveMovablePtr(MOV* &,DbTagData &, const PtrCommMetaData &) const;
192 
193 
194 
196  template <class T>
197  T *getBrokedPtr(const int &,T *(FEM_ObjectBroker::*ptrFunc)(int)) const;
198  template <class T>
199  T *getBrokedTagged(T* &ptr,const int &,const int &,const int &,T *(FEM_ObjectBroker::*ptrFunc)(int)) const;
200 
201  template <class MAT>
202  MAT *getBrokedMaterial(MAT* &,DbTagData &, const BrokedPtrCommMetaData &) const;
203  template <class HDL>
204  HDL *getBrokedDataOutputHandler(HDL* &,DbTagData &, const BrokedPtrCommMetaData &) const;
205  template <class GM>
206  GM *getBrokedGroundMotion(GM* &,DbTagData &, const BrokedPtrCommMetaData &) const;
207 
208  ConstraintHandler *brokeConstraintHandler(const int &) const;
209  DOF_Numberer *brokeNumberer(const int &) const;
210  AnalysisModel *brokeAnalysisModel(const int &) const;
211  LinearSOE *brokeDDLinearSOE(const int &,const int &) const;
212  LinearSOE *brokeLinearSOE(const int &,const int &) const;
213  IncrementalIntegrator *brokeIncrementalIntegrator(const int &) const;
214  StaticIntegrator *brokeStaticIntegrator(const int &) const;
215  TransientIntegrator *brokeTransientIntegrator(const int &) const;
216  DomainDecompAlgo *brokeDomainDecompAlgo(const int &) const;
217  EquiSolnAlgo *brokeEquiSolnAlgo(const int &) const;
218  GroundMotion *brokeGroundMotion(const int &) const;
219  DomainSolver *getNewDomainSolver(void) const;
220  DomainDecompositionAnalysis *getNewDomainDecompAnalysis(int, Subdomain &) const;
221  ConvergenceTest *getNewConvergenceTest(CommandEntity *owr,int classTag) const;
222  TimeSeries *getNewTimeSeries(int classTag) const;
223  CrdTransf2d *getNewCrdTransf2d(int classTag) const;
224  CrdTransf3d *getNewCrdTransf3d(int classTag) const;
225  CrdTransf *getNewCrdTransf(int classTag) const;
226  ShellCrdTransf3dBase *getNewShellCrdTransf3d(int classTag) const;
227  BeamIntegration *getNewBeamIntegration(int classTag) const;
228  };
229 
230 template <class T>
231 T *CommParameters::getBrokedPtr(const int &classTag,T *(FEM_ObjectBroker::*ptrFunc)(int)) const
232  {
233  assert(broker);
234  T *retval=((*broker).*ptrFunc)(classTag);
235  return retval;
236  }
237 
238 template <class MAT>
239 MAT *CommParameters::getBrokedMaterial(MAT* &ptr,DbTagData &dbTagData, const BrokedPtrCommMetaData &md) const
240  {
241  if(!ptr)
242  {
243  assert(broker);
244  const int classTag= dbTagData.getDbTagDataPos(md.getPosClassTag());
245  Material *tmp= broker->getNewMaterial(classTag);
246  if(tmp)
247  {
248  ptr= dynamic_cast<MAT *>(tmp);
249  if(ptr)
250  {
251  const int res= receiveMovable(*ptr,dbTagData,md);
252  if(res<0)
253  std::cerr <<"WARNING - receiveMaterialPtr "
254  << "failed to receive material.\n";
255  }
256  else
257  {
258  delete tmp;
259  std::cerr << "CommParameters::getBrokedMaterial "
260  << " el material es de clase inadecuada."
261  << std::endl;
262  }
263  }
264  else
265  std::cerr << "getBrokedMaterial: "
266  << " broker could not create material of class type: "
267  << classTag << std::endl;;
268  }
269  return ptr;
270  }
271 
272 template <class HDL>
273 HDL *CommParameters::getBrokedDataOutputHandler(HDL* &ptr,DbTagData &dbTagData, const BrokedPtrCommMetaData &md) const
274  {
275  if(!ptr)
276  {
277  assert(broker);
278  const int classTag= dbTagData.getDbTagDataPos(md.getPosClassTag());
279  DataOutputHandler *tmp= broker->getPtrNewDataOutputHandler(classTag);
280  if(tmp)
281  {
282  ptr= dynamic_cast<HDL *>(tmp);
283  if(!ptr) delete tmp;
284  }
285  else
286  std::cerr << "getBrokedMaterial: "
287  << " broker could not create handler of class type: "
288  << classTag << std::endl;;
289  }
290  return ptr;
291  }
292 
293 template <class GM>
294 GM *CommParameters::getBrokedGroundMotion(GM* &ptr,DbTagData &dbTagData, const BrokedPtrCommMetaData &md) const
295  {
296  if(!ptr)
297  {
298  assert(broker);
299  const int classTag= dbTagData.getDbTagDataPos(md.getPosClassTag());
300  GroundMotion *tmp= broker->getNewGroundMotion(classTag);
301  if(tmp)
302  {
303  ptr= dynamic_cast<GM *>(tmp);
304  if(!ptr) delete tmp;
305  }
306  else
307  std::cerr << "getBrokedGroundMotion: "
308  << " broker could not create ground motion of class type: "
309  << classTag << std::endl;;
310  }
311  return ptr;
312  }
313 
314 template <class T>
315 T *CommParameters::getBrokedTagged(T* &ptr,const int &dbTag,const int &objTag,const int &classTag,T *(FEM_ObjectBroker::*ptrFunc)(int)) const
316  {
317  if(!ptr)
318  {
319  assert(broker);
320  T *retval=((*broker).*ptrFunc)(classTag);
321 
322  if(retval)
323  {
324  retval->setDbTag(dbTag);
325  retval->setTag(objTag);
326  ptr= retval;
327  }
328  else
329  std::cerr << "getBrokedTagged; can't create object con classTag: "
330  << classTag << std::endl;
331  }
332  return ptr;
333  }
334 
335 template <class MOV>
336 MOV *CommParameters::receiveMovablePtr(MOV* &ptr,DbTagData &dbTagData, const PtrCommMetaData &meta) const
337  {
338  if(dbTagData.getDbTagDataPos(meta.getPosFlag()) == 0)
339  {
340  // make some room and read in the ID
341  if(!ptr)
342  {
343  ptr= new MOV();
344  if(!ptr)
345  std::cerr << "receiveMovableIDPtr -- ran out of memory\n";
346  }
347  if(ptr)
348  {
349  ptr->setDbTag(dbTagData.getDbTagDataPos(meta.getPosDbTag()));
350  int res= ptr->recvSelf(*this);
351  if(res < 0)
352  std::cerr << "receiveMovableIDPtr - failed to receive ID data\n";
353  }
354  }
355  return ptr;
356  }
357 
358 } // end of XC namespace
359 
360 #endif
int sendBools(const bool &, const bool &, DbTagData &, const CommMetaData &)
Sends the bools through the channel being passed as parameter.
Definition: CommParameters.cc:687
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
Data about the address, size,...
Definition: TensorCommMetaData.h:40
int sendIDPtr(ID *, DbTagData &, const ArrayCommMetaData &)
Sends an ID pointer through the communicator being passed as parameter.
Definition: CommParameters.cc:106
int sendTensor(const BJtensor &, DbTagData &, const CommMetaData &)
Sends tensor through the channel being passed as parameter.
Definition: CommParameters.cc:334
{staticFormTaylor} {equation}
Definition: StaticIntegrator.h:137
Base class for DOF numbererers.
Definition: DOF_Numberer.h:93
Float vector abstraction.
Definition: Vector.h:93
Domain enclosed in another domain.
Definition: Subdomain.h:101
int sendStrings(std::deque< std::string > &, DbTagData &, const CommMetaData &)
Sends the string container through the channel being passed as parameter.
Definition: CommParameters.cc:352
Matrix * receiveMatrixPtr(Matrix *&ptr, DbTagData &, const MatrixCommMetaData &) const
Receives a pointer to the matrix through the channel being passed as parameter.
Definition: CommParameters.cc:228
int sendMovableMatrixPtr(MovableMatrix *, DbTagData &, const PtrCommMetaData &)
Sends a MovableMatrix pointer through the channel being passed as parameter.
Definition: CommParameters.cc:272
int sendDouble(const double &, DbTagData &, const CommMetaData &)
Sends a double through the channel being passed as parameter.
Definition: CommParameters.cc:554
double * receiveDoublePtr(double *&, DbTagData &, const ArrayCommMetaData &) const
Receive the array data through the channel being passed as parameter.
Definition: CommParameters.cc:527
ConstraintHandlers enforce the single and multi freedom constraints that exist in the domain by creat...
Definition: ConstraintHandler.h:92
int sendIdData(const DbTagData &, const int &)
Sends miembro data through the channel being passed as parameter.
Definition: CommParameters.cc:392
ID that can move between processes.
Definition: MovableID.h:43
int sendInts(const int &, const int &, DbTagData &, const CommMetaData &)
Sends the integers through the channel being passed as parameter.
Definition: CommParameters.cc:812
int sendVectorPtr(Vector *ptr, DbTagData &, const ArrayCommMetaData &)
Sends the Vector pointed by ptr through the channel being passed as parameter.
Definition: CommParameters.cc:467
Linear system of equations.
Definition: LinearSOE.h:91
int receiveString(std::string &v, DbTagData &, const CommMetaData &) const
Receives la text string through the channel being passed as parameter.
Definition: CommParameters.cc:324
Data about the position, size,...
Definition: PtrCommMetaData.h:38
size_t receiveSzt(size_t &, DbTagData &, const CommMetaData &) const
Receives the integers through the channel being passed as parameter.
Definition: CommParameters.cc:980
Object that can move between processes.
Definition: MovableObject.h:99
CrdTransf provides the abstraction of a frame coordinate transformation.
Definition: CrdTransf.h:87
const int & getDbTagDataPos(const size_t &i) const
Returns the integer in the position being passed as parameter.
Definition: DbTagData.cc:58
int receiveMatrices(std::vector< Matrix > &, DbTagData &, const CommMetaData &) const
Receives las matrices.
Definition: CommParameters.cc:302
int sendDoubles(const double &, const double &, DbTagData &, const CommMetaData &)
Envía the doubles through the channel being passed as parameter.
Definition: CommParameters.cc:563
ID * receiveIDPtr(ID *&, DbTagData &, const ArrayCommMetaData &) const
Receives an ID pointer through the communicator being passed as parameter.
Definition: CommParameters.cc:124
int sendVectors(std::vector< Vector > &, DbTagData &, const CommMetaData &)
Sends the vector container through the channel being passed as parameter.
Definition: CommParameters.cc:448
int receiveIdData(DbTagData &, const int &) const
Receives el miembro data through the channel being passed as parameter.
Definition: CommParameters.cc:396
MovableID * receiveMovableIDPtr(MovableID *&, DbTagData &, const PtrCommMetaData &)
Receives a MovableID pointer through the channel being passed as parameter.
Definition: CommParameters.cc:159
Solution algorithm for domain decomposition analysis.
Definition: DomainDecompAlgo.h:88
int receiveMovable(MovableObject &, DbTagData &, const CommMetaData &) const
Receives a movable object trhrough the channel being passed as parameter.
Definition: CommParameters.cc:1076
Definition: BJtensor.h:110
Base class for materials.
Definition: Material.h:91
Vector that stores the dbTags of the class members.
Definition: DbTagData.h:43
int sendMovableIDPtr(MovableID *, DbTagData &, const PtrCommMetaData &)
Sends a MovableID pointer through the channel being passed as parameter.
Definition: CommParameters.cc:152
FEM_ObjectBroker is is an object broker class for the finite element method.
Definition: FEM_ObjectBroker.h:145
Vector of integers.
Definition: ID.h:93
Data about the index, size,,...
Definition: CommMetaData.h:38
bool isDatastore(void) const
Returns true if it&#39;s a data store.
Definition: CommParameters.cc:63
int sendMatrix(const Matrix &, const int &)
Send the matrix through the channel being passed as parameter.
Definition: CommParameters.cc:176
int receiveID(ID &v, const int &) const
Receives el vector.
Definition: CommParameters.cc:79
int receiveInt(int &, DbTagData &, const CommMetaData &) const
Receives the integers through the channel being passed as parameter.
Definition: CommParameters.cc:857
Base class for 2D coordinate transformation.
Definition: CrdTransf2d.h:77
Base class for 3D coordinate transformations.
Definition: ShellCrdTransf3dBase.h:48
int sendVector(const Vector &, const int &)
Sends vector.
Definition: CommParameters.cc:400
int sendDoublePtr(double *, DbTagData &, const ArrayCommMetaData &)
Send the array data through the channel being passed as parameter.
Definition: CommParameters.cc:511
MovableMatrix * receiveMovableMatrixPtr(MovableMatrix *&, DbTagData &, const PtrCommMetaData &)
Receives a MovableMatrix pointer through the channel being passed as parameter.
Definition: CommParameters.cc:278
Used when performing a domain decomposition analysis.
Definition: DomainDecompositionAnalysis.h:90
Container for FE_Element and DOF_Group objects created by the constraint handler. ...
Definition: AnalysisModel.h:133
int sendTensorPtr(BJtensor *ptr, DbTagData &, const TensorCommMetaData &)
Envía a pointer al tensor through the channel being passed as parameter.
Definition: CommParameters.cc:255
int sendMatrixPtr(Matrix *ptr, DbTagData &, const MatrixCommMetaData &)
Send a pointer to the matrix through the channel being passed as parameter.
Definition: CommParameters.cc:209
int sendMovablePtr(MovableObject *ptr, DbTagData &, const PtrCommMetaData &)
Sends a pointer to movable object through the channel being passed as parameter.
Definition: CommParameters.cc:1088
int receiveBool(bool &, DbTagData &, const CommMetaData &) const
Sends the bool through the channel being passed as parameter.
Definition: CommParameters.cc:732
int sendInt(const int &, DbTagData &, const CommMetaData &)
Sends the integer through the channel being passed as parameter.
Definition: CommParameters.cc:803
Base class for ground motions.
Definition: GroundMotion.h:83
Base class for integration on beam elements.
Definition: BeamIntegration.h:73
int receiveTensor(BJtensor &v, DbTagData &, const CommMetaData &) const
Receives el tensor through the channel being passed as parameter.
Definition: CommParameters.cc:342
BJtensor * receiveTensorPtr(BJtensor *&ptr, DbTagData &, const TensorCommMetaData &) const
Receives a pointer to tensor through the channel being passed as parameter.
Definition: CommParameters.cc:263
int receiveDouble(double &, DbTagData &, const CommMetaData &) const
Receives el double through the channel being passed as parameter.
Definition: CommParameters.cc:608
Data about the position, size,...
Definition: MatrixCommMetaData.h:40
int sendMovableVectorPtr(MovableVector *, DbTagData &, const PtrCommMetaData &)
Sends a MovableVector pointer through the channel being passed as parameter.
Definition: CommParameters.cc:165
int receiveBools(bool &, bool &, DbTagData &, const CommMetaData &) const
Receives the bools through the channel being passed as parameter.
Definition: CommParameters.cc:742
Stiffness material contribution response identifiers.
Definition: ResponseId.h:60
IncrementalIntegrator is an algorithmic class for setting up the finite element equations in an incre...
Definition: IncrementalIntegrator.h:96
Channel is an abstract base class which defines the channel interface.
Definition: Channel.h:91
EquiSolnAlgo is an abstract base class, i.e.
Definition: EquiSolnAlgo.h:88
int receiveVector(Vector &v, const int &) const
Receives el vector.
Definition: CommParameters.cc:407
ResponseId * receiveResponseIdPtr(ResponseId *&, DbTagData &, const ArrayCommMetaData &) const
Receives a ResponseId object.
Definition: CommParameters.cc:1054
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
CommParameters(int cTag, Channel &)
Constructor.
Definition: CommParameters.cc:48
convergence test.
Definition: ConvergenceTest.h:80
Data to transmit for a pointer «broked».
Definition: BrokedPtrCommMetaData.h:39
MovableVector * receiveMovableVectorPtr(MovableVector *&, DbTagData &, const PtrCommMetaData &)
Receives a MovableVector pointer through the channel being passed as parameter.
Definition: CommParameters.cc:172
int receiveDoubles(double &, double &, DbTagData &, const CommMetaData &) const
Receives the doubles through the channel being passed as parameter.
Definition: CommParameters.cc:620
int sendID(const ID &, const int &)
Sends vector.
Definition: CommParameters.cc:72
size_t sendSzt(const size_t &, DbTagData &, const CommMetaData &)
Sends entero through the channel being passed as parameter.
Definition: CommParameters.cc:930
size_t sendSzts(const size_t &, const size_t &, DbTagData &, const CommMetaData &)
Sends the integers through the channel being passed as parameter.
Definition: CommParameters.cc:935
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
int receiveInts(int &, int &, DbTagData &, const CommMetaData &) const
Receives the integers through the channel being passed as parameter.
Definition: CommParameters.cc:869
Time variation of loads.
Definition: TimeSeries.h:81
Communication parameters between processes.
Definition: CommParameters.h:65
Data about the position, size, ...
Definition: ArrayCommMetaData.h:41
Matrix of floats.
Definition: Matrix.h:108
int sendString(const std::string &, DbTagData &, const CommMetaData &)
Envía la text string through the channel being passed as parameter.
Definition: CommParameters.cc:316
used to solve a system of equations and to do static condensation operations on the linear system of ...
Definition: DomainSolver.h:82
Matrix that can move between processes.
Definition: MovableMatrix.h:43
int sendMovable(MovableObject &, DbTagData &, const CommMetaData &)
Sends a movable object through the channel being passed as parameter.
Definition: CommParameters.cc:1066
int sendMatrices(const std::vector< Matrix > &, DbTagData &, const CommMetaData &)
Sends the matrices.
Definition: CommParameters.cc:283
Vector that can move between processes.
Definition: MovableVector.h:41
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
int receiveMatrix(Matrix &v, const int &) const
Receives the matrix through the channel being passed as parameter.
Definition: CommParameters.cc:183
int getDbTag(void) const
Solicita al canal que devuelva un tag para la database.
Definition: CommParameters.cc:56
int sendBool(const bool &, DbTagData &, const CommMetaData &)
Sends bool through the channel being passed as parameter.
Definition: CommParameters.cc:682
int sendBrokedPtr(MovableObject *ptr, DbTagData &, const BrokedPtrCommMetaData &)
Sends a pointer to movable object through the channel being passed as parameter.
Definition: CommParameters.cc:1104
Definition: DataOutputHandler.h:61
size_t receiveSzts(size_t &, size_t &, DbTagData &, const CommMetaData &) const
Receives the integers through the channel being passed as parameter.
Definition: CommParameters.cc:990
Base class for 3D coordinate transformation.
Definition: CrdTransf3d.h:80