xc
|
The PartitionedModelBuilder class is an abstract class. More...
#include <PartitionedModelBuilder.h>
Public Member Functions | |
PartitionedModelBuilder (PartitionedDomain &aPartitionedDomain, int classTag) | |
Constructor. More... | |
PartitionedModelBuilder (Subdomain &aSubdomain, int classTag) | |
This is the constructor that is called when a PartitionedModelBuilder is to be created by an FE_ObjectBroker. More... | |
virtual int | buildFE_Model (void) |
The PartitionedModelBuilder will first check that the PartitionedModelBuilder was constructed with a PartitioneDomain, if not a warning message is printed and a \(-1\) is returned. More... | |
virtual int | buildInterface (int numSubdomains)=0 |
This method must be provided by the subclasses. More... | |
virtual int | buildSubdomain (int partition, int numPartitions, Subdomain &)=0 |
This method must be provided by the subclasses. More... | |
![]() | |
ModelBuilder (Domain &theDomain) | |
Constructor. More... | |
![]() | |
MovableObject (int classTag, int dbTag) | |
Constructor. More... | |
MovableObject (int classTag) | |
Constructor. More... | |
MovableObject (const MovableObject &) | |
Copy constructor. Doesn't copy the dbTag. | |
MovableObject & | operator= (const MovableObject &) |
Assignment operator. Doesn't copy the dbTag. | |
int | getClassTag (void) const |
Return the class identifier. | |
int | getDbTag (void) const |
Return the object identifier in the database. | |
int | getDbTag (CommParameters &) |
Return the object identifier in the database. | |
void | setDbTag (int dbTag) |
Sets the object identifier in the database. | |
void | setDbTag (CommParameters &) |
Sets the object identifier in the database if not already set. More... | |
virtual int | sendSelf (CommParameters &cp)=0 |
Send the object. More... | |
virtual int | recvSelf (const CommParameters &cp)=0 |
Receive the object. More... | |
virtual int | setParameter (const std::vector< std::string > &argv, Parameter ¶m) |
Sets the value param to the parameter argv . | |
virtual int | updateParameter (int parameterID, Information &info) |
Updates the parameter identified by parameterID with info . | |
virtual int | activateParameter (int parameterID) |
Activates the parameter identified by parameterID . | |
virtual int | setVariable (const std::string &variable, Information &) |
Set the value of the variable idenfified by var . | |
virtual int | getVariable (const std::string &variable, Information &) |
Return the value of the variable idenfified by var . | |
![]() | |
DistributedBase (void) | |
Constructor. | |
virtual DbTagData & | getDbTagData (void) const |
Returns a vector to store class dbTags. | |
const int & | getDbTagDataPos (const int &i) const |
Returns the data at the i-th position. | |
void | setDbTagDataPos (const int &i, const int &v) |
Sets the data at the i-th position. | |
void | inicComm (const int &dataSize) const |
Initializes communication. | |
Protected Member Functions | |
PartitionedDomain * | getPartitionedDomainPtr (void) const |
Return a pointer to the PartitionedDomain object. | |
![]() | |
Domain * | getDomainPtr (void) const |
Return a pointer to the domain. More... | |
The PartitionedModelBuilder class is an abstract class.
A subclass of PartitionedModelBuilder is a class which creates a partitioned finite element discretization of a structure: that is it discretizes the structure to be modeled into Elements, Nodes, Constraints, etc. and adds these components to the Subdomains of a PartitionedDomain. PartitionedModelBuilders can be used for creating models for analysis involving domain decomposition methods where there exist natural partitions or where a model has previously been partitioned and this information has been saved.
XC::PartitionedModelBuilder::PartitionedModelBuilder | ( | PartitionedDomain & | aPartitionedDomain, |
int | theClassTag | ||
) |
Constructor.
Typically, a PartitionedModelBuilder is associated with a PartitionedDomain, this constructor sets up a link for the PartitionedModelBuilder and the domain, setting its link to the Domain object domain
. The Domain {domain} is passed to the constructor for ModelBuilder, and the integer classTag
is passed to the MovableObject classes constructor.
XC::PartitionedModelBuilder::PartitionedModelBuilder | ( | Subdomain & | aSubdomain, |
int | classTag | ||
) |
This is the constructor that is called when a PartitionedModelBuilder is to be created by an FE_ObjectBroker.
The only method that can be invoked on such an object is buildSubdomain().
classTag | identifier of the class. |
|
virtual |
The PartitionedModelBuilder will first check that the PartitionedModelBuilder was constructed with a PartitioneDomain, if not a warning message is printed and a \(-1\) is returned.
If o.k. the object then determines the number of Subdomains, numSub
in the PartitionedDomain. It then invokes {buildInterface(numSub)} on itself. Then for each Subdomain in the PartitionedDomain it invokes {buildSubdomain(numSub, *this)}. If building the interface or any of the subdomains fails, a warning message is printed and a negative number is returned. Returns \(0\) if sucessfull.
Implements XC::ModelBuilder.
|
pure virtual |
This method must be provided by the subclasses.
It is used to add any boundary nodes, nodal loads and constraints to the PartitionedDomain object. The integer numSubdomains
is passed to provide information about the number of subdomains in the PartitionedDomain. To return \(0\) if successfull, a negative number if not.
|
pure virtual |
This method must be provided by the subclasses.
It is used to add nodes, elements, loads and constraints to the subdomain {theSubdomain}. The integers partition
and numPartitions
are used to identify which partition is being built and the total number of partitions. To return \(0\) if succesfull, a negative number if not.