xc
|
Container for FE_Element and DOF_Group objects created by the constraint handler. More...
#include <AnalysisModel.h>
Public Member Functions | |
virtual | ~AnalysisModel (void) |
Destructor. More... | |
virtual DOF_Group * | createDOF_Group (const int &, Node *) |
virtual LagrangeDOF_Group * | createLagrangeDOF_Group (const int &, SFreedom_Constraint *) |
Appends to the model the Lagrange DOFs for the single freedom constraint being passed as parameter. More... | |
virtual LagrangeDOF_Group * | createLagrangeDOF_Group (const int &, MFreedom_Constraint *) |
Appends to the model the Lagrange DOFs for the multi-freedom constraint being passed as parameter. More... | |
virtual LagrangeDOF_Group * | createLagrangeDOF_Group (const int &, MRMFreedom_Constraint *) |
Appends to the model the Lagrange DOFs for the multi-freedom constraint being passed as parameter. More... | |
virtual TransformationDOF_Group * | createTransformationDOF_Group (const int &, Node *, MFreedom_ConstraintBase *, TransformationConstraintHandler *) |
virtual TransformationDOF_Group * | createTransformationDOF_Group (const int &, Node *, TransformationConstraintHandler *) |
virtual FE_Element * | createFE_Element (const int &, Element *) |
Creates a FE_Element and appends it to the model. | |
virtual LagrangeSFreedom_FE * | createLagrangeSFreedom_FE (const int &, SFreedom_Constraint &, DOF_Group &, const double &) |
Create an LagrangeSFreedom_FE object and append it to the model. | |
virtual LagrangeMFreedom_FE * | createLagrangeMFreedom_FE (const int &, MFreedom_Constraint &, DOF_Group &, const double &) |
Method to create a LagrangeMFreedom_FE object and append it to the model. More... | |
virtual LagrangeMRMFreedom_FE * | createLagrangeMRMFreedom_FE (const int &, MRMFreedom_Constraint &, DOF_Group &, const double &) |
Method to create a LagrangeMRMFreedom_FE object and append it to the model. More... | |
virtual PenaltySFreedom_FE * | createPenaltySFreedom_FE (const int &, SFreedom_Constraint &, const double &) |
Method to create a PenaltySFreedom_FE object and append it to the model. More... | |
virtual PenaltyMFreedom_FE * | createPenaltyMFreedom_FE (const int &, MFreedom_Constraint &, const double &) |
Create a PenaltyMFreedom_FE object and append it to the model. | |
virtual PenaltyMRMFreedom_FE * | createPenaltyMRMFreedom_FE (const int &, MRMFreedom_Constraint &, const double &) |
Create a PenaltyMRMFreedom_FE object and append it to the model. | |
virtual FE_Element * | createTransformationFE (const int &, Element *, const std::set< int > &, std::set< FE_Element *> &) |
Create a TransformationFE_Element object and append it to the model. | |
virtual void | clearAll (void) |
Clears from the model all FE_Element and DOF_Group objects. More... | |
virtual int | getNumDOF_Groups (void) const |
Returns the umber of DOF_Group objects added to the model. | |
virtual DOF_Group * | getDOF_GroupPtr (int tag) |
Returns a pointer to the DEF group with the tag beign passed as parameter. More... | |
virtual const DOF_Group * | getDOF_GroupPtr (int tag) const |
Returns a pointer to the DOF group which the tag being passed as parameter. More... | |
virtual FE_EleIter & | getFEs () |
Returns an {FE_EleIter} for the FE_Elements of the model. | |
virtual DOF_GrpIter & | getDOFGroups () |
virtual FE_EleConstIter & | getConstFEs () const |
Returns a {FE_EleConstIter} for the FE_Elements of the model. | |
virtual DOF_GrpConstIter & | getConstDOFs () const |
virtual void | setNumEqn (int) |
Sets the value of the number of equations in the model. More... | |
virtual int | getNumEqn (void) const |
Returns the number of DOFs in the model which have been assigned an equation number. More... | |
virtual Graph & | getDOFGraph (void) |
virtual Graph & | getDOFGroupGraph (void) |
Returns the connectivity of the DOF_Group objects in the model. More... | |
virtual const Graph & | getDOFGraph (void) const |
Returns the DOF connectivity graph for the individual dofs in the model. More... | |
virtual const Graph & | getDOFGroupGraph (void) const |
virtual void | setResponse (const Vector &, const Vector &, const Vector &) |
Sets the values of the displacement, velocity and acceleration of the nodes. More... | |
virtual void | setDisp (const Vector &disp) |
Sets the values of the displacement of the nodes. More... | |
virtual void | setVel (const Vector &vel) |
Sets the values of the velocity of the nodes. More... | |
virtual void | setAccel (const Vector &vel) |
Sets the values of the acceleration of the nodes. More... | |
virtual void | incrDisp (const Vector &disp) |
Sets the values of the displacement increment of the nodes. More... | |
virtual void | incrVel (const Vector &vel) |
Sets the values of the velocity increment of the nodes. More... | |
virtual void | incrAccel (const Vector &vel) |
Sets the values of the acceleration increment of the nodes. More... | |
virtual void | setNumEigenvectors (int numEigenvectors) |
virtual void | setEigenvector (int mode, const Vector &) |
virtual void | setEigenvalues (const Vector &) |
Informs the domain of the obtained eigenvalues. | |
virtual void | setModalParticipationFactors (const Vector &) |
Informs the domain of the obtained modal participation factors. | |
virtual int | sendSelf (CommParameters &) |
Returns \(0\). More... | |
virtual int | recvSelf (const CommParameters &) |
Returns \(0\). | |
Domain * | getDomainPtr (void) |
Returns a pointer to the associated Domain, that is the Domain set when the links were set. More... | |
const Domain * | getDomainPtr (void) const |
Returns a const pointer to the associated Domain, that is the Domain set when the links were set. More... | |
ConstraintHandler * | getHandlerPtr (void) |
const ConstraintHandler * | getHandlerPtr (void) const |
![]() | |
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 | 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 | |
virtual void | applyLoadDomain (double newTime) |
Method which invokes {applyLoad(timeStep, loadFactor)} on the domain. More... | |
virtual int | updateDomain (void) |
Method which invokes update() on the domain. More... | |
virtual int | updateDomain (double newTime, double dT) |
virtual int | newStepDomain (double dT=0.0) |
virtual int | commitDomain (void) |
Commits domain state. More... | |
virtual int | revertDomainToLastCommit (void) |
Returns to the last commited state. More... | |
virtual double | getCurrentDomainTime (void) |
To get the current time in the Domain. More... | |
virtual void | setCurrentDomainTime (double newTime) |
To set the current time in the Domain to be newTime . More... | |
virtual void | setRayleighDampingFactors (const RayleighDampingFactors &rF) |
virtual bool | addDOF_Group (DOF_Group *theDOF_Grp) |
Method to add an DOF to the model. More... | |
virtual bool | addFE_Element (FE_Element *theFE_Ele) |
Adds the FE_Element pointed to by theElement to the model. More... | |
AnalysisModel (ModelWrapper *owr=nullptr) | |
Constructor. More... | |
AnalysisModel (int classTag, CommandEntity *owr) | |
Constructor. More... | |
AnalysisModel (const AnalysisModel &) | |
Copy constructor. | |
AnalysisModel & | operator= (const AnalysisModel &) |
Assignment operator. | |
AnalysisModel * | getCopy (void) const |
Virtual constructor. | |
Friends | |
class | Integrator |
class | Analysis |
class | ModelWrapper |
class | FEM_ObjectBroker |
Container for FE_Element and DOF_Group objects created by the constraint handler.
AnalysisModel is a container class. This class is responsible for holding and providing access to the FE_Element and DOF_Group objects that the ConstraintHandler creates. It is also responsible for updating the response quantities at the DOF_Groups and for triggering methods in the associated Domain. It provides operations for the following:
Each subclass of AnalysisModel must have its own subclasses of FE_ELEIter and DOF_GrpIter.
|
protected |
Constructor.
Constructs an empty AnalysisModel. The constructor allocates space for two arrays of 256 pointers to FE_Elements and DOF_Groups. If not enough memory is available for these arrays, an error message is printed and the program is terminated. Note these arrays grow automatically if the problem needs it.
|
protected |
Constructor.
Provided for subclasses to be used. The storage of the FE_Elements and DOF_Groups and iters to access them must be provided by the subclass.
|
virtual |
Destructor.
Is responsible for returning to memory the arrays used for storing pointers to the FE_Element and DOF_Groups which have been added to the AnalysisModel. It is not responsible for deleting the individual DOF_Group and FE_Element objects, that is the responsibility of the ConstraintHandler. If the Graphs have been requested their destructor is invoked.
|
protectedvirtual |
Method to add an DOF to the model.
Adds the DOF_Group pointed to by theGroup
to the domain. If the array for the DOF_Groups is large enough, it adds this pointer to the array and increments the number of DOF_Groups in the array. If the array is not large enough, a new one double in size is constructed, all the old pointers are copied to this new array and the new pointer is then added. If not enough room is available for this array, an error message is printed and the program is terminated. Returns true
, otherwise false
if {theGroup} is \(0\) or derived class used which does not implement the method.
|
protectedvirtual |
Adds the FE_Element pointed to by theElement
to the model.
Adds the FE_Element pointed to by theElement
to the domain and invokes {setAnalysisModel(*this)} on the FE_Element. If the array for the FE_Elements is large enough, it adds this pointer to the array and increments the number of FE_Elements in the array. If the array is not large enough, a new one double in size is constructed, all the old pointers are copied to this new array and the new pointer is then added. If not enough room is available for this array, an error message is printed and the program is terminated. Returns true
, otherwise false
if {theElement} is \(0\) or derived class used which does not implement the method.
|
protectedvirtual |
Method which invokes {applyLoad(timeStep, loadFactor)} on the domain.
Method which invokes {applyLoad(timeStep, loadFactor)} on the domain. This method causes the domain ask the loads in the currently set to apply themselves. If no Domain has been set nothing is done and an error message is printed.
|
virtual |
Clears from the model all FE_Element and DOF_Group objects.
Clears from the model all FE_Element and DOF_Group objects that have been added to the analysis model using the above two methods. It does this by setting the components in the two arrays of pointers equal to \(0\) and setting the number of components to \(0\). If the Graphs have been created their destructor is invoked. Also sets numEqn
to \(0\).
|
protectedvirtual |
Commits domain state.
Method which invokes commit() on the domain: this is an operation which causes all nodes in the domain to take the current values of response quantities and copy them into the accepted values. Returns \(0\) if successful , a negative number if not: \(-1\) if no Domain has been set and \(-2\) if commit() fails on the Domain.
|
virtual |
Appends to the model the Lagrange DOFs for the single freedom constraint being passed as parameter.
tag | identifier for the new Lagrange DOFs group. |
spPtr | single freedom constraint to introduce. |
|
virtual |
Appends to the model the Lagrange DOFs for the multi-freedom constraint being passed as parameter.
tag | identifier for the new Lagrange DOFs group. |
mpPtr | multi-freedom constraint to introduce. |
|
virtual |
Appends to the model the Lagrange DOFs for the multi-freedom constraint being passed as parameter.
tag | identifier for the new Lagrange DOFs group. |
mrmpPtr | multi-row, multi-freedom constraint to introduce. |
|
virtual |
Method to create a LagrangeMFreedom_FE object and append it to the model.
|
virtual |
Method to create a LagrangeMRMFreedom_FE object and append it to the model.
|
virtual |
Method to create a PenaltySFreedom_FE object and append it to the model.
|
protectedvirtual |
|
virtual |
Returns a pointer to the DEF group with the tag beign passed as parameter.
Returns a pointer to the DOF_Group object whose tag is given by {tag}. It first checks to see if the DOF_Group object is at the location in the array given by tag
; if not it searches through the array to find the DOF_Group object. Returns a pointer to the object if found, otherwise \(0\) is returned.
|
virtual |
Returns a pointer to the DOF group which the tag being passed as parameter.
|
virtual |
Returns the DOF connectivity graph for the individual dofs in the model.
This graph is used by the system of equation object to determine its size. If no graph has yet been constructed it creates a new DOF_Graph object using itself as the argument, otherwise it returns a pointer to this graph. THIS WILL CHANGE WHEN I REMOVE DOF_Graph CLASS - will go through and construct the Graph.
|
virtual |
Returns the connectivity of the DOF_Group objects in the model.
Returns the connectivity of the DOF_Group objects in the model. This graph is used by the DOF_Numberer to assign equation numbers to the dofs. If no graph has yet been constructed it creates a new DOF_GroupGraph object using itself as the argument, otherwise it returns a pointer to this graph. AGAIN WILL CHANGE.
XC::Domain * XC::AnalysisModel::getDomainPtr | ( | void | ) |
const XC::Domain * XC::AnalysisModel::getDomainPtr | ( | void | ) | const |
|
virtual |
Returns the number of DOFs in the model which have been assigned an equation number.
Returns the number of DOFs in the model which have been assigned an equation number. Returns the value passed in setNumEqn(), if setNumEqn() was not invoked \(0\) is returned.
|
virtual |
|
virtual |
|
virtual |
|
protectedvirtual |
Returns to the last commited state.
Method which invokes revertToLastCommit() on the domain: this is an operation which causes all nodes in the domain to set the trial response quantities equal to the last committed response quantities. Returns \(0\) if successful , a negative number if not: \(-1\) if no Domain has been set and \(-2\) if revertToLastCommit()
fails on the Domain.
|
virtual |
Returns \(0\).
Note the FE_Elements and DOF_Group objects are not sent as they are not MovableObjects. AnalysisModel objects are only sent when setting up a DomainDecompAnalysis on a remote process; only type info and whatever subclasses might need need to be sent.
Implements XC::MovableObject.
|
virtual |
|
protectedvirtual |
|
virtual |
|
virtual |
Sets the value of the number of equations in the model.
Invoked by the DOF_Numberer when it is numbering the dofs.
|
virtual |
|
protectedvirtual |
Method which invokes update() on the domain.
If no Domain has been set nothing is done and an error message is printed.