Search found 13 matches

by bravejbc
Thu Mar 29, 2012 1:49 am
Forum: OpenSees.exe Users
Topic: How to use the Damage Model in OpenSees
Replies: 0
Views: 1682

How to use the Damage Model in OpenSees

I found the commands in OpeSees source code:
damageModel ParkAng tag? deltaU? beat? FU?
recorder ElementDamage eleID? <-time> <-file fileName?> <-section secID1? secID2? ...> <-dof dofID?> <-damage dmgID?>
I followed the above commands and created a damage recorder. But, OpenSees.exe can't work.
Thanks for helping.
by bravejbc
Mon Dec 12, 2011 4:50 pm
Forum: OpenSees.exe Users
Topic: Questions about RemoveRecorder class
Replies: 3
Views: 3474

Re: Questions about RemoveRecorder class

Is there anybody answer my question?
by bravejbc
Sun Dec 11, 2011 4:15 am
Forum: OpenSees.exe Users
Topic: Questions about RemoveRecorder class
Replies: 3
Views: 3474

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 ?
by bravejbc
Sat Dec 10, 2011 6:30 pm
Forum: OpenSees.exe Users
Topic: Questions about RemoveRecorder class
Replies: 3
Views: 3474

Questions about RemoveRecorder class

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 ?
by bravejbc
Mon Aug 22, 2011 2:00 am
Forum: OpenSees.exe Users
Topic: Constraints imposed
Replies: 1
Views: 2045

Constraints imposed

I created a structure model with truss element. Right now I want to replace one of the truss element with a damper whose force-displacement relationship has been given. Is there any proper elements for the damper? Considering OpenSees doesn't has this kind of element, my idea is imposing the damper's force-displacement relationship on the nodes, but how can I realize it?
Thanks a lot!

bravejbc DUT
by bravejbc
Mon Aug 15, 2011 4:38 pm
Forum: OpenSees.exe Users
Topic: stop the analysis, modify the model, restart the analysis
Replies: 8
Views: 8690

Re: stop the analysis, modify the model, restart the analysi

I think I've gotten some misunderstanding or made some mistake, so I wasn't able to solve my problem. Would you like to give me a example and show me much more details about the loop. :P
Thank you very much!

bravejbc DUT
by bravejbc
Mon Aug 15, 2011 6:15 am
Forum: OpenSees.exe Users
Topic: stop the analysis, modify the model, restart the analysis
Replies: 8
Views: 8690

Re: stop the analysis, modify the model, restart the analysi

vesna wrote:
> Do the analysis in the loop and inside of the loop define condition under
> which you want to change your model. Under this condition define all
> changes of your model that you want to see.

Dear vesna,
I've learned about that the analysis will stop either the analysis is finished or the analysis fails to converg. My problem is how could I I pause the analysis, modify the model and then restart this analysis?
by bravejbc
Sun Aug 14, 2011 3:55 pm
Forum: OpenSees.exe Users
Topic: stop the analysis, modify the model, restart the analysis
Replies: 8
Views: 8690

Re: stop the analysis, modify the model, restart the analysi

Dear vesna,
Thanks for your reply. Followed your advice, I modified the Basic_Truss_Example (http://opensees.berkeley.edu/wiki/index ... ss_Example), and did the analysis in the while loop as follows:

# Remove existing model
wipe

# Create ModelBuilder (with two-dimensions and 2 DOF/node)
model BasicBuilder -ndm 2 -ndf 2

# Create nodes
# ------------

# Create nodes & add to Domain - command: node nodeId xCrd yCrd
node 1 0.0 0.0
node 2 144.0 0.0
node 3 168.0 0.0
node 4 72.0 96.0

# Set the boundary conditions - command: fix nodeID xResrnt? yRestrnt?
fix 1 1 1
fix 2 1 1
fix 3 1 1

# Define materials for truss elements
# -----------------------------------

# Create Elastic material prototype - command: uniaxialMaterial Elastic matID E
uniaxialMaterial Elastic 1 3000

# Define elements
# ---------------

# Create truss elements - command: element truss trussID node1 node2 A matID
element Truss 1 1 4 10.0 1
element Truss 2 2 4 5.0 1
element Truss 3 3 4 5.0 1

# Define loads
# ------------

#create a Linear TimeSeries (load factor varies linearly with time): command timeSeries Linear $tag
timeSeries Linear 1

# Create a Plain load pattern with a linear TimeSeries: command pattern Plain $tag $timeSeriesTag { $loads }
pattern Plain 1 1 {

# Create the nodal load - command: load nodeID xForce yForce
load 4 100 -50
}

# ------------------------------
# Start of analysis generation
# ------------------------------

# Create the system of equation, a SPD using a band storage scheme
system BandSPD

# Create the DOF numberer, the reverse Cuthill-McKee algorithm
numberer RCM

# Create the constraint handler, a Plain handler is used as homo constraints
constraints Plain

# Create the integration scheme, the LoadControl scheme using steps of 1.0
integrator LoadControl 1.0

# Create the solution algorithm, a Linear algorithm is created
algorithm Linear

# create the analysis object
analysis Static

# ------------------------------
# Start of recorder generation
# ------------------------------

# create a Recorder object for the nodal displacements at node 4
recorder Node -file example.out -time -node 4 -dof 1 2 disp

# Create a recorder for element forces, one in global and the other local system
recorder Element -file eleGlobal.out -time -ele 1 2 3 forces
recorder Element -file eleLocal.out -time -ele 1 2 3 basicForces

# ------------------------------
# Finally perform the analysis
# ------------------------------
#set area of the element 2
set A 5.0
variable AA $A;
# Perform the analysis
while {$AA >=$A && $AA <= 5*$A} {
analyze 1;
variable AA [expr $AA+$A ];
remove element 2;
element Truss 2 2 4 $AA 1;
}

# ------------------------------
# Print Stuff to Screen
# ------------------------------

# Print the current state at node 4 and at all elements
puts "node 4 displacement: [nodeDisp 4]"
print node 4
print ele

I want to increase cross-sectional area of the element 2 during the analysis. However, the result of element global force is like this:

1 -26.3611 -35.1482 26.3611 35.1482 -34.5278 46.0371 34.5278 -46.0371 -39.1111 39.1111 39.1111 -39.1111
2 -52.916 -70.5546 52.916 70.5546 -68.8825 92.353 68.8825 -92.353 -78.2016 78.2016 78.2016 -78.2016
3 -79.6682 -106.224 79.6682 106.224 -103.058 138.951 103.058 -138.951 -117.273 117.273 117.273 -117.273
4 -106.622 -142.162 106.622 142.162 -137.05 185.833 137.05 -185.833 -156.329 156.329 156.329 -156.329
5 -133.78 -178.373 133.78 178.373 -170.85 233.004 170.85 -233.004 -195.37 195.37 195.37 -195.37

It means that the force was also increased when I did the analysis in the while loop. How could I deal with this problem? Thanks again!

bravejbc DUT
by bravejbc
Sat Aug 13, 2011 11:51 pm
Forum: OpenSees.exe Users
Topic: stop the analysis, modify the model, restart the analysis
Replies: 8
Views: 8690

Re: stop the analysis, modify the model, restart the analysi

Dear vesna,
Thanks for your reply. Followed your advice, I modified the Basic_Truss_Example (http://opensees.berkeley.edu/wiki/index ... ss_Example), and did the analysis in the while loop as follows:

# Remove existing model
wipe

# Create ModelBuilder (with two-dimensions and 2 DOF/node)
model BasicBuilder -ndm 2 -ndf 2

# Create nodes
# ------------

# Create nodes & add to Domain - command: node nodeId xCrd yCrd
node 1 0.0 0.0
node 2 144.0 0.0
node 3 168.0 0.0
node 4 72.0 96.0

# Set the boundary conditions - command: fix nodeID xResrnt? yRestrnt?
fix 1 1 1
fix 2 1 1
fix 3 1 1

# Define materials for truss elements
# -----------------------------------

# Create Elastic material prototype - command: uniaxialMaterial Elastic matID E
uniaxialMaterial Elastic 1 3000

# Define elements
# ---------------

# Create truss elements - command: element truss trussID node1 node2 A matID
element Truss 1 1 4 10.0 1
element Truss 2 2 4 5.0 1
element Truss 3 3 4 5.0 1

# Define loads
# ------------

#create a Linear TimeSeries (load factor varies linearly with time): command timeSeries Linear $tag
timeSeries Linear 1

# Create a Plain load pattern with a linear TimeSeries: command pattern Plain $tag $timeSeriesTag { $loads }
pattern Plain 1 1 {

# Create the nodal load - command: load nodeID xForce yForce
load 4 100 -50
}

# ------------------------------
# Start of analysis generation
# ------------------------------

# Create the system of equation, a SPD using a band storage scheme
system BandSPD

# Create the DOF numberer, the reverse Cuthill-McKee algorithm
numberer RCM

# Create the constraint handler, a Plain handler is used as homo constraints
constraints Plain

# Create the integration scheme, the LoadControl scheme using steps of 1.0
integrator LoadControl 1.0

# Create the solution algorithm, a Linear algorithm is created
algorithm Linear

# create the analysis object
analysis Static

# ------------------------------
# Start of recorder generation
# ------------------------------

# create a Recorder object for the nodal displacements at node 4
recorder Node -file example.out -time -node 4 -dof 1 2 disp

# Create a recorder for element forces, one in global and the other local system
recorder Element -file eleGlobal.out -time -ele 1 2 3 forces
recorder Element -file eleLocal.out -time -ele 1 2 3 basicForces

# ------------------------------
# Finally perform the analysis
# ------------------------------
#set area of the element 2
set A 5.0
variable AA $A;
# Perform the analysis
while {$AA >=$A && $AA <= 5*$A} {
analyze 1;
variable AA [expr $AA+$A ];
remove element 2;
element Truss 2 2 4 $AA 1;
}

# ------------------------------
# Print Stuff to Screen
# ------------------------------

# Print the current state at node 4 and at all elements
puts "node 4 displacement: [nodeDisp 4]"
print node 4
print ele

I want to increase cross-sectional area of the element 2 during the analysis. However, the result of element global force is like this:

1 -26.3611 -35.1482 26.3611 35.1482 -34.5278 46.0371 34.5278 -46.0371 -39.1111 39.1111 39.1111 -39.1111
2 -52.916 -70.5546 52.916 70.5546 -68.8825 92.353 68.8825 -92.353 -78.2016 78.2016 78.2016 -78.2016
3 -79.6682 -106.224 79.6682 106.224 -103.058 138.951 103.058 -138.951 -117.273 117.273 117.273 -117.273
4 -106.622 -142.162 106.622 142.162 -137.05 185.833 137.05 -185.833 -156.329 156.329 156.329 -156.329
5 -133.78 -178.373 133.78 178.373 -170.85 233.004 170.85 -233.004 -195.37 195.37 195.37 -195.37

It means that the force was also increased when I did the analysis in the while loop. How could I deal with this problem? Thanks again!

bravejbc DUT
by bravejbc
Fri Aug 12, 2011 6:00 am
Forum: OpenSees.exe Users
Topic: stop the analysis, modify the model, restart the analysis
Replies: 8
Views: 8690

stop the analysis, modify the model, restart the analysis

Dear all,
How could I stop the analysis, modify the model and then restart the analysis? In other words how can I control analysis process of the program ?
Thanks!

bravejbc DUT
by bravejbc
Sat May 07, 2011 6:12 pm
Forum: Framework
Topic: We are collecting OPENSEES User-Requirements Data
Replies: 15
Views: 52024

Re: We are collecting OPENSEES User-Requirements Data

Dear Silvia,
There are many posts mentioned how to spit mass,stiffness and damping Matrix out. At present neither mass or modal participation factors can not be recorded with OpenSees. Although We can go to the source code, find it and spit it out, it is very difficult for us.
Would you please do something about this. So that we can record mass,stiffness and damping Matrix buy Tcl scripts.
Thanks a lot!
by bravejbc
Sat May 07, 2011 5:32 pm
Forum: OpenSees.exe Users
Topic: determineted modal particpation factors and phisTopFloorDirn
Replies: 4
Views: 4011

Re: determineted modal particpation factors and phisTopFloor

vesna wrote:
> Neither mass or modal participation factors can not be recorded with
> OpenSees. However if you know C++, you can go to the source code, find it
> and spit it out.
>
>Dear vesna,
I am reading the source code. Would you please give me much more details about finding and spitting out mass or modal participation factors.Thanks a lot!