hellow everyone:
RemoveRecorder class developed by M.Talaat and S.Gunay is a recorder for element removal, but how can I use it during the analysis ?
Questions about RemoveRecorder class
Moderators: silvia, selimgunay, Moderators
Re: Questions about RemoveRecorder class
I read the example: Infill Wall Model and Element Removal (http://opensees.berkeley.edu/wiki/index.php Infill_Wall_Model_and_Element_Removal#Implementation_of_Infill_Wall_Removal_in_OpenSees).
Please take care of the following paragraph:
A progressive collapse algorithm is developed [4-6], the different applications of which can be found in references [7-10]. This algorithm is developed using element removal based on dynamic equilibrium and resulting transient change in system kinematics, the underlying theory of which can be found in the above references. The progressive collapse algorithm is implemented for automated removal of collapsed elements during an ongoing simulation (Figure 4). The implementation is carried out as a new OpenSees module, designed so that it is called by the main analysis module after each converged load step to check each element for possible violation of its respective removal criteria. A violation of any pre-defined removal criterion triggers the activation of the element removal algorithm on the violating element before returning to the main analysis module. Activation of the element removal algorithm includes updating nodal masses, checking if the removal of the collapsed element results in leaving behind dangling nodes or floating elements, which must be removed as well (Figure 5), and removing all associated element and nodal forces, imposed displacements, and constraints.
I read all of the references([4-6], [7-10]) and learned the underlying theory of the progressive collapse algorithm. However, when I turned to the source code, I found that RemoveRecorder class just define the following member function:
int record(int commitTag, double timeStamp);
int playback(int commitTag);
int restart(void);
int checkEleRemoval(Element* theEle, Response *eleResponse, int &theComponent,const Vector &Criteria);
int elimElem(int theDeadEleTag, double timeStamp = 0);
int elimNode(int theDeadNodeTag, double timeStamp = 0);
int elimSlaves(double timeStamp = 0);
int updateNodalMasses(int theEleTag, double theEleMass);
So I have a question that how does the developer consider the dynamic equilibrium and resulting transient change in system kinematics ?
Please take care of the following paragraph:
A progressive collapse algorithm is developed [4-6], the different applications of which can be found in references [7-10]. This algorithm is developed using element removal based on dynamic equilibrium and resulting transient change in system kinematics, the underlying theory of which can be found in the above references. The progressive collapse algorithm is implemented for automated removal of collapsed elements during an ongoing simulation (Figure 4). The implementation is carried out as a new OpenSees module, designed so that it is called by the main analysis module after each converged load step to check each element for possible violation of its respective removal criteria. A violation of any pre-defined removal criterion triggers the activation of the element removal algorithm on the violating element before returning to the main analysis module. Activation of the element removal algorithm includes updating nodal masses, checking if the removal of the collapsed element results in leaving behind dangling nodes or floating elements, which must be removed as well (Figure 5), and removing all associated element and nodal forces, imposed displacements, and constraints.
I read all of the references([4-6], [7-10]) and learned the underlying theory of the progressive collapse algorithm. However, when I turned to the source code, I found that RemoveRecorder class just define the following member function:
int record(int commitTag, double timeStamp);
int playback(int commitTag);
int restart(void);
int checkEleRemoval(Element* theEle, Response *eleResponse, int &theComponent,const Vector &Criteria);
int elimElem(int theDeadEleTag, double timeStamp = 0);
int elimNode(int theDeadNodeTag, double timeStamp = 0);
int elimSlaves(double timeStamp = 0);
int updateNodalMasses(int theEleTag, double theEleMass);
So I have a question that how does the developer consider the dynamic equilibrium and resulting transient change in system kinematics ?
Re: Questions about RemoveRecorder class
Is there anybody answer my question?
Re: Questions about RemoveRecorder class
I'm answering your first post only. By issuing:
remove recorder
you will remove all previously defined recorders.
To get a response to the second post you will have to write to the author of that example.
remove recorder
you will remove all previously defined recorders.
To get a response to the second post you will have to write to the author of that example.