30 #ifndef Communicator_h 31 #define Communicator_h 33 #include "utility/matrix/ID.h" 35 #include "utility/actor/objectBroker/FEM_ObjectBroker.h" 36 #include "BrokedPtrCommMetaData.h" 38 #include "DbTagData.h" 51 class ArrayCommMetaData;
52 class MatrixCommMetaData;
53 class TensorCommMetaData;
57 class DomainDecompositionAnalysis;
61 class BeamIntegration;
76 inline const int &getCommitTag(
void)
const 80 inline const Channel *getChannel(
void)
const 82 inline Channel *getChannel(
void)
180 size_t sendSzts(
const size_t &,
const size_t &,
const size_t &,
const size_t &,
const size_t &,
const size_t &,
DbTagData &,
const CommMetaData &);
202 T *getBrokedTagged(T* &ptr,
const int &,
const int &,
const int &,T *(
FEM_ObjectBroker::*ptrFunc)(
int))
const;
214 LinearSOE *brokeDDLinearSOE(
const int &,
const int &)
const;
215 LinearSOE *brokeLinearSOE(
const int &,
const int &)
const;
218 TransientIntegrator *brokeTransientIntegrator(
const int &)
const;
225 TimeSeries *getNewTimeSeries(
int classTag)
const;
226 CrdTransf2d *getNewCrdTransf2d(
int classTag)
const;
227 CrdTransf3d *getNewCrdTransf3d(
int classTag)
const;
228 CrdTransf *getNewCrdTransf(
int classTag)
const;
234 T *Communicator::getBrokedPtr(
const int &classTag,T *(
FEM_ObjectBroker::*ptrFunc)(
int))
const 237 T *retval=((*broker).*ptrFunc)(classTag);
251 ptr=
dynamic_cast<MAT *
>(tmp);
256 std::cerr <<
"WARNING - receiveMaterialPtr " 257 <<
"failed to receive material.\n";
262 std::cerr <<
"Communicator::getBrokedMaterial " 263 <<
" wrong material class." 268 std::cerr <<
"getBrokedMaterial: " 269 <<
" broker could not create material of class type: " 270 << classTag << std::endl;;
285 ptr=
dynamic_cast<HDL *
>(tmp);
289 std::cerr <<
"getBrokedDataOutputHandlerMaterial: " 290 <<
" broker could not create handler of class type: " 291 << classTag << std::endl;;
306 ptr=
dynamic_cast<GM *
>(tmp);
310 std::cerr <<
"getBrokedGroundMotion: " 311 <<
" broker could not create ground motion of class type: " 312 << classTag << std::endl;;
318 T *Communicator::getBrokedTagged(T* &ptr,
const int &dbTag,
const int &objTag,
const int &classTag,T *(
FEM_ObjectBroker::*ptrFunc)(
int))
const 323 T *retval=((*broker).*ptrFunc)(classTag);
327 retval->setDbTag(dbTag);
328 retval->setTag(objTag);
332 std::cerr <<
"getBrokedTagged; can't create object con classTag: " 333 << classTag << std::endl;
348 std::cerr <<
"receiveMovableIDPtr -- ran out of memory\n";
353 int res= ptr->recvSelf(*
this);
355 std::cerr <<
"receiveMovableIDPtr - failed to receive ID data\n";
int sendMovable(MovableObject &, DbTagData &, const CommMetaData &)
Sends a movable object through the communicator argument.
Definition: Communicator.cc:1163
int sendInt(const int &, DbTagData &, const CommMetaData &)
Sends the integer through the communicator argument.
Definition: Communicator.cc:875
int receiveDoubles(double &, double &, DbTagData &, const CommMetaData &) const
Receives the doubles through the communicator argument.
Definition: Communicator.cc:675
int sendIdData(const DbTagData &, const int &)
Sends miembro data through the communicator argument.
Definition: Communicator.cc:411
{staticFormTaylor} {equation}
Definition: StaticIntegrator.h:138
double * receiveDoublePtr(double *&, DbTagData &, const ArrayCommMetaData &) const
Receive the array data through the communicator argument.
Definition: Communicator.cc:574
Base class for DOF numbererers.
Definition: DOF_Numberer.h:94
int sendBrokedPtr(MovableObject *ptr, DbTagData &, const BrokedPtrCommMetaData &)
Sends a pointer to movable object through the communicator argument.
Definition: Communicator.cc:1204
Float vector abstraction.
Definition: Vector.h:94
Domain enclosed in another domain.
Definition: Subdomain.h:102
int sendBool(const bool &, DbTagData &, const CommMetaData &)
Sends bool through the communicator argument.
Definition: Communicator.cc:742
int sendTensor(const BJtensor &, DbTagData &, const CommMetaData &)
Sends tensor through the communicator argument.
Definition: Communicator.cc:348
virtual DataOutputHandler * getPtrNewDataOutputHandler(int classTag)
Broke a DataOutputHandler object from its class tag.
Definition: FEM_ObjectBroker.cpp:1024
int sendBools(const bool &, const bool &, DbTagData &, const CommMetaData &)
Sends the bools through the communicator argument.
Definition: Communicator.cc:748
int sendStrings(std::deque< std::string > &, DbTagData &, const CommMetaData &)
Sends the string container through the communicator argument.
Definition: Communicator.cc:368
int receiveBool(bool &, DbTagData &, const CommMetaData &) const
Sends the bool through the communicator argument.
Definition: Communicator.cc:798
int receiveString(std::string &v, DbTagData &, const CommMetaData &) const
Receives la text string through the communicator argument.
Definition: Communicator.cc:337
ConstraintHandlers enforce the single and multi freedom constraints that exist in the domain by creat...
Definition: ConstraintHandler.h:93
Communication parameters between processes.
Definition: Communicator.h:66
ID that can move between processes.
Definition: MovableID.h:44
Linear system of equations.
Definition: LinearSOE.h:92
ResponseId * receiveResponseIdPtr(ResponseId *&, DbTagData &, const ArrayCommMetaData &) const
Receives a ResponseId object.
Definition: Communicator.cc:1150
size_t receiveSzts(size_t &, size_t &, DbTagData &, const CommMetaData &) const
Receives the integers through the communicator argument.
Definition: Communicator.cc:1081
Object that can move between processes.
Definition: MovableObject.h:100
CrdTransf provides the abstraction of a frame coordinate transformation.
Definition: CrdTransf.h:88
const int & getDbTagDataPos(const size_t &i) const
Returns the integer in the position being passed as parameter.
Definition: DbTagData.cc:58
int getDbTag(void) const
Ask the channel for a tag for the database.
Definition: Communicator.cc:57
int receiveTensor(BJtensor &v, DbTagData &, const CommMetaData &) const
Receives el tensor through the communicator argument.
Definition: Communicator.cc:357
int receiveInt(int &, DbTagData &, const CommMetaData &) const
Receives the integers through the communicator argument.
Definition: Communicator.cc:935
int sendMatrices(const std::vector< Matrix > &, DbTagData &, const CommMetaData &)
Sends the matrices.
Definition: Communicator.cc:293
ID * receiveIDPtr(ID *&, DbTagData &, const ArrayCommMetaData &) const
Receives an ID pointer through the communicator being passed as parameter.
Definition: Communicator.cc:129
Solution algorithm for domain decomposition analysis.
Definition: DomainDecompAlgo.h:89
int receiveMovable(MovableObject &, DbTagData &, const CommMetaData &) const
Receives a movable object trhrough the communicator argument.
Definition: Communicator.cc:1174
size_t sendSzt(const size_t &, DbTagData &, const CommMetaData &)
Sends entero through the communicator argument.
Definition: Communicator.cc:1014
MovableVector * receiveMovableVectorPtr(MovableVector *&, DbTagData &, const PtrCommMetaData &)
Receives a MovableVector pointer through the communicator argument.
Definition: Communicator.cc:177
Boris Jeremic tensor class.
Definition: BJtensor.h:112
Base class for materials.
Definition: Material.h:93
int sendDoublePtr(double *, DbTagData &, const ArrayCommMetaData &)
Send the array data through the communicator argument.
Definition: Communicator.cc:557
Vector that stores the dbTags of the class members.
Definition: DbTagData.h:44
int sendVectorPtr(Vector *ptr, DbTagData &, const ArrayCommMetaData &)
Sends the Vector pointed by ptr through the communicator argument.
Definition: Communicator.cc:512
FEM_ObjectBroker is is an object broker class for the finite element method.
Definition: FEM_ObjectBroker.h:151
Vector of integers.
Definition: ID.h:95
int receiveIDs(std::vector< ID > &v, DbTagData &, const CommMetaData &) const
Receives the ID container through the communicator argument.
Definition: Communicator.cc:501
Base class for 2D coordinate transformation.
Definition: CrdTransf2d.h:78
Base class for 3D coordinate transformations.
Definition: ShellCrdTransf3dBase.h:49
BJtensor * receiveTensorPtr(BJtensor *&ptr, DbTagData &, const TensorCommMetaData &) const
Receives a pointer to tensor through the communicator argument.
Definition: Communicator.cc:272
Matrix * receiveMatrixPtr(Matrix *&ptr, DbTagData &, const MatrixCommMetaData &) const
Receives a pointer to the matrix through the communicator argument.
Definition: Communicator.cc:237
int sendMovableVectorPtr(MovableVector *, DbTagData &, const PtrCommMetaData &)
Sends a MovableVector pointer through the communicator argument.
Definition: Communicator.cc:170
int receiveVector(Vector &v, const int &) const
Receives el vector.
Definition: Communicator.cc:426
Used when performing a domain decomposition analysis.
Definition: DomainDecompositionAnalysis.h:91
int sendVectors(std::vector< Vector > &, DbTagData &, const CommMetaData &)
Sends the vector container through the communicator argument.
Definition: Communicator.cc:472
int sendDoubles(const double &, const double &, DbTagData &, const CommMetaData &)
Send the doubles through the communicator argument.
Definition: Communicator.cc:612
Container for FE_Element and DOF_Group objects created by the constraint handler. ...
Definition: AnalysisModel.h:134
Vector * receiveVectorPtr(Vector *&ptr, DbTagData &, const ArrayCommMetaData &) const
Receives a Vector pointed by ptr through the communicator argument.
Definition: Communicator.cc:530
size_t sendSzts(const size_t &, const size_t &, DbTagData &, const CommMetaData &)
Sends the integers through the communicator argument.
Definition: Communicator.cc:1020
int sendMatrix(const Matrix &, const int &)
Send the matrix through the communicator argument.
Definition: Communicator.cc:181
int sendInts(const int &, const int &, DbTagData &, const CommMetaData &)
Sends the integers through the communicator argument.
Definition: Communicator.cc:885
virtual GroundMotion * getNewGroundMotion(int classTag)
Broke a ground motion object from its class tag.
Definition: FEM_ObjectBroker.cpp:899
Base class for ground motions.
Definition: GroundMotion.h:84
Base class for integration on beam elements.
Definition: BeamIntegration.h:80
Objet that can execute python scripts.
Definition: CommandEntity.h:40
int receiveVectors(std::vector< Vector > &v, DbTagData &, const CommMetaData &) const
Receives the vector container through the communicator argument.
Definition: Communicator.cc:481
Stiffness material contribution response identifiers.
Definition: ResponseId.h:61
IncrementalIntegrator is an algorithmic class for setting up the finite element equations in an incre...
Definition: IncrementalIntegrator.h:100
int sendIDs(std::vector< ID > &, DbTagData &, const CommMetaData &)
Sends the ID container through the communicator argument.
Definition: Communicator.cc:492
int receiveMatrices(std::vector< Matrix > &, DbTagData &, const CommMetaData &) const
Receives las matrices.
Definition: Communicator.cc:313
int sendID(const ID &, const int &)
Sends vector.
Definition: Communicator.cc:73
Channel is an abstract base class which defines the channel interface.
Definition: Channel.h:92
Base class for solution algorithms.
Definition: EquiSolnAlgo.h:91
MovableID * receiveMovableIDPtr(MovableID *&, DbTagData &, const PtrCommMetaData &)
Receives a MovableID pointer through the communicator argument.
Definition: Communicator.cc:164
int sendMovableIDPtr(MovableID *, DbTagData &, const PtrCommMetaData &)
Sends a MovableID pointer through the communicator argument.
Definition: Communicator.cc:157
virtual Material * getNewMaterial(int classTag)
Broke a Material object from its class tag.
Definition: FEM_ObjectBroker.cpp:776
bool isDatastore(void) const
Returns true if it's a data store.
Definition: Communicator.cc:64
size_t receiveSzt(size_t &, DbTagData &, const CommMetaData &) const
Receives the integers through the communicator argument.
Definition: Communicator.cc:1070
int sendString(const std::string &, DbTagData &, const CommMetaData &)
Send the text string through the communicator argument.
Definition: Communicator.cc:328
convergence test.
Definition: ConvergenceTest.h:81
int sendMatrixPtr(Matrix *ptr, DbTagData &, const MatrixCommMetaData &)
Send a pointer to the matrix through the communicator argument.
Definition: Communicator.cc:217
int receiveInts(int &, int &, DbTagData &, const CommMetaData &) const
Receives the integers through the communicator argument.
Definition: Communicator.cc:948
int receiveIdData(DbTagData &, const int &) const
Receives el miembro data through the communicator argument.
Definition: Communicator.cc:415
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
int receiveMatrix(Matrix &v, const int &) const
Receives the matrix through the communicator argument.
Definition: Communicator.cc:188
Time variation of loads.
Definition: TimeSeries.h:85
int receiveStrings(std::deque< std::string > &, DbTagData &, const CommMetaData &) const
Receives the string container through the communicator argument.
Definition: Communicator.cc:377
int sendMovablePtr(MovableObject *ptr, DbTagData &, const PtrCommMetaData &)
Sends a pointer to movable object through the communicator argument.
Definition: Communicator.cc:1187
int sendTensorPtr(BJtensor *ptr, DbTagData &, const TensorCommMetaData &)
Send a pointer to the tensor through the communicator argument.
Definition: Communicator.cc:264
Matrix of floats.
Definition: Matrix.h:111
used to solve a system of equations and to do static condensation operations on the linear system of ...
Definition: DomainSolver.h:83
Matrix that can move between processes.
Definition: MovableMatrix.h:44
int receiveID(ID &v, const int &) const
Receives el vector.
Definition: Communicator.cc:80
int receiveBools(bool &, bool &, DbTagData &, const CommMetaData &) const
Receives the bools through the communicator argument.
Definition: Communicator.cc:809
Vector that can move between processes.
Definition: MovableVector.h:42
MovableMatrix * receiveMovableMatrixPtr(MovableMatrix *&, DbTagData &, const PtrCommMetaData &)
Receives a MovableMatrix pointer through the communicator argument.
Definition: Communicator.cc:287
int sendMovableMatrixPtr(MovableMatrix *, DbTagData &, const PtrCommMetaData &)
Sends a MovableMatrix pointer through the communicator argument.
Definition: Communicator.cc:281
int receiveDouble(double &, DbTagData &, const CommMetaData &) const
Receives el double through the communicator argument.
Definition: Communicator.cc:662
Communicator(int cTag, Channel &)
Constructor.
Definition: Communicator.cc:49
Base class for data output handlers.
Definition: DataOutputHandler.h:69
int sendDouble(const double &, DbTagData &, const CommMetaData &)
Sends a double through the communicator argument.
Definition: Communicator.cc:602
Base class for 3D coordinate transformation.
Definition: CrdTransf3d.h:81
int sendIDPtr(ID *, DbTagData &, const ArrayCommMetaData &)
Sends an ID pointer through the communicator being passed as parameter.
Definition: Communicator.cc:110
int sendVector(const Vector &, const int &)
Sends vector.
Definition: Communicator.cc:419