Search found 214 matches

by Jhno
Tue Jan 02, 2018 11:35 am
Forum: OpenSees.exe Users
Topic: plasticDeformation
Replies: 7
Views: 2527

Re: plasticDeformation

You should put a space between ele # and section :
Also, in an element recorder you can ask a FiberSection for its 'deformations', 'forces', 'forceAndDeformation', 'fiber $fiberNum $matArg1 ..', 'fiber $yLoc $zLoc $matTag $matArg1 '
Page 10 : http://opensees.berkeley.edu/wiki/image ... Output.pdf
by Jhno
Thu Dec 21, 2017 12:33 pm
Forum: OpenSees.exe Users
Topic: Shear -Axial Limit curve
Replies: 2
Views: 2806

Re: Shear -Axial Limit curve

1-Evaluate the limit of each of your elements.
2-Record the stress in your elements.
3-Plot the stress in elements.
4-Compare your limit with the recorded stress; now you know.
by Jhno
Sat Dec 16, 2017 7:19 am
Forum: OpenSees.exe Users
Topic: ImposedGroundMotion
Replies: 2
Views: 780

ImposedGroundMotion

Hi,
any1 has an explanation for the following? In both case, the timeseries is defined this way :

timeSeries Path 5 -time 0.025 -values 0.001

When I type in my analyze command this way :
for {set i 1} {$i<=4} {incr i 1} {
set okay [analyze 1 0.00625]
}
I get a 0.001 displacement after 4 iteration, as expected.
However, when I type it this way :
for {set i 1} {$i<=25} {incr i 1} {
set okay [analyze 1 0.001]
}
I do not get a 0.001 displacement after 25 steps, thought the command [getTime] does confirms the system time is at 0.025 s. I get something like 1e-12.
Any help on this? Thanks!
by Jhno
Thu Dec 14, 2017 5:41 am
Forum: OpenSees.exe Users
Topic: about pushover analysis
Replies: 1
Views: 1313

Re: about pushover analysis

I did not read the example but the variable "IDctrlDOF" seems to be for ID Control Degree of Freedom. This mean you changed the DOF of the load from direction 1 to direction 3, which would explain why the model do not converge now.
by Jhno
Tue Dec 05, 2017 7:16 am
Forum: OpenSees.exe Users
Topic: initial velocity
Replies: 2
Views: 633

Re: initial velocity

I take that you want all node in the model to have a initial velocity. I never did such a analysis but if I had too I would try something like this and see how it goes.
In any cases, you should define the velocity in term of displacements (see here for details : http://opensees.berkeley.edu/wiki/index ... oundMotion).
Command UniformExcitation (http://opensees.berkeley.edu/wiki/index ... on_Pattern) apply to all the node in the model.
Apply your displacement to the nodes you wish to have a initial velocity, and run analysis of your model. When it is done, print out informations of those node to make sure they have the good velocity. Remember it is Relative value you will get with the uniformExcitation.
When you are happy with the result, simply add the time history analysis and do more analysis. Something like this:
Step 1 :
-model definition
-gravity load and axial load definition
gravity analysis (static analysis)
---Check result make sure they make senses
Step 2 :
-define displ time history for your initial velocity
-apply the disp to the model
-wipe your system (command wipeAnalysis (no space between wipe and Analysis or you will wipe the model)
-change analysis to dynamic analysis
-dynamic analysis
----Check result
Step 3 :
---remove the uniform excitation pattern
---add dynamic time history ***Keep in mind the time (you can print it using getTime command) of the system when you apply your dynamic signal.
---run your analysis
by Jhno
Mon Dec 04, 2017 7:05 am
Forum: OpenSees.exe Users
Topic: Spring
Replies: 4
Views: 984

Re: Spring

This is the conclusion to which I came too; just wasn't sure about it and thought I would ask for advice on the subject :)
In the normative document I use they ask for elastic perfectly-plastic bilinear ... so I was trying to do it! :(
Thanks for the answer, and have a good day!
by Jhno
Sat Dec 02, 2017 3:35 pm
Forum: OpenSees.exe Users
Topic: integrator DisplacementControl
Replies: 4
Views: 3634

Re: integrator DisplacementControl

If the displacements are the same you can add a equalDOF between the two (or more) nodes you want to see displaced?
by Jhno
Thu Nov 30, 2017 11:23 am
Forum: OpenSees.exe Users
Topic: Spring
Replies: 4
Views: 984

Re: Spring

Thanks for the reply.
I checked the script; it's in a different builder and the relation are directly given so yes it works (setting eta=0 and gap = 0 I get a elastic-perfectly plastic curve which yield at strain = 0.2 (Fy / E = 10 / 50 = 0.2)).
But using the basicbuilder and standard uniaxial ElasticPPGap mat I cannot obtain the plastic flat part of the stress-strain curve.
Say u_incr is the increment in strain in the next step, and u is the current strain, I will crash in the step where u+u_incr > u_yield is true.
Where u_yield = Fy/E
If I add a little slope (say I use eta = 0.01) then I won't crash... but am not perfectly plastic then.
by Jhno
Wed Nov 29, 2017 10:11 am
Forum: OpenSees.exe Users
Topic: Spring
Replies: 4
Views: 984

Spring

Hi, I made a simple model for a spring with zerolength element and did try to obtain the stress-strain curves as displayed here : http://opensees.berkeley.edu/wiki/index ... c_Material
However, it doesn't work very well.
Here's the script I use :

wipe all;
model BasicBuilder -ndm 1 -ndf 1
node 1 0.
node 2 0.
fix 1 1
fix 2 0
uniaxialMaterial ElasticPP 1 1676143.602 0.000638
element zeroLength 1 1 2 -mat 1 -dir 1

pattern Plain 101 "Linear" {
load 2 1.
}

system BandGeneral
test NormDispIncr 1.e-10 20 1
constraints Transformation
integrator DisplacementControl 2 1 0.00000638
algorithm Newton
numberer RCM
analysis Static

recorder Node -file F_D.out -time -node 2 -dof 1 disp
recorder Element -file Deformation.out -ele 1 deformation
recorder Element -file Forces.out -ele 1 forces
for {set i 1} {$i<=100} {incr i 1} {
set okay [analyze 1]
if {$okay!=0} {break}
print node 2
}


When I run the analysis using a "Linear" timeseries, the curve from the Force-deformation at node 2 is linear and the ratio of the force divided by the deformation/displacement gives the selected E (1676143.602) and the analysis crash when it reached deformation close to the yield limits (next time steps deformation would be higher than the maximum epsyP).

So the timesteps being linear will increase the loadfactor and since the yield limits is reached, there is no convergence because there is no displacement associated with a stress that is over the yield limit since the plastic curve is flat. How do you obtain a elastic-perfectly plastic curve then? Is it possible?

P.S. : since am using a zero-leng element, I supposed that k = E and forces = stress (no A nor L so I hard to relate k = AE/L, I supposed that A = L = 1?)
by Jhno
Fri Nov 10, 2017 12:24 pm
Forum: OpenSees.exe Users
Topic: Section analysis
Replies: 8
Views: 3000

Re: Section analysis

Found the problem. Now it works perfect.
by Jhno
Fri Nov 10, 2017 5:19 am
Forum: OpenSees.exe Users
Topic: Section analysis
Replies: 8
Views: 3000

Re: Section analysis

Does limited change (20 MN*m instead of 24) :?
by Jhno
Thu Nov 09, 2017 9:15 am
Forum: OpenSees.exe Users
Topic: Section analysis
Replies: 8
Views: 3000

Section analysis

Hi, I have a couple problem evaluating yield moment for cross section of reinforced beam.
I use the following script, which come from the example on the wiki pages to evaluate the rotation-moment at the section.
However, when I check result, I get around 25 MN*m resisting moment (the slope of the moment-curvature changes around that value). When I hand calculate it I get around 470 kN*m. The difference is huge. Clearly I go wrong with OS but Idk where. Any help would be much appreciated! Thanks.
*Units are SI [m/Newton]

wipe
model BasicBuilder -ndm 2 -ndf 3
node 1 0. 0.
node 2 0. 0.

fix 1 1 1 1
fix 2 1 1 0

set id 208
set HSec [expr 36*25.4*0.001]
set BSec [expr 10*25.4*0.001]
set coverH [expr 1.5*25.4*0.001]
set coverB [expr 1.5*25.4*0.001]
set coreID 2
set coverID 1
set steelID 3
set numBarsTop 5
set barAreaTop 0.022225
set numBarsBot 5
set barAreaBot 0.0254
set numBarsIntTot 0
set barAreaInt 0.
set fiberSizeY 0.0254
set fiberSizeZ 0.0762
set coreOffset 0.02

#---Mat
uniaxialMaterial Concrete02 1 -27.6e6 -0.00194 0.0 -0.0035 0.1 2.6e6 2.6e9
uniaxialMaterial Concrete02 2 -29.5e6 -0.0021 6.3e6 -0.0206 0.1 2.6e6 2.6e9
uniaxialMaterial Steel02 3 280.e6 200.e9 0.1 18 0.925 0.15

#---Define section

set coverY [expr $HSec/2.0]; # The distance from the section z-axis to the edge of the cover concrete -- outer edge of cover concrete
set coverZ [expr $BSec/2.0]; # The distance from the section y-axis to the edge of the cover concrete -- outer edge of cover concrete
set coreY [expr $coverY-($coverH+$coreOffset)]; # The distance from the section z-axis to the edge of the core concrete -- edge of the core concrete/inner edge of cover concrete
set coreZ [expr $coverZ-($coverB+$coreOffset)]; # The distance from the section y-axis to the edge of the core concrete -- edge of the core concrete/inner edge of cover concrete
set numBarsInt [expr $numBarsIntTot/2]; # number of intermediate bars per side

# Define the fiber section
section fiberSec 1 {
# Define the core patch
set nbCoreFiberZ [expr {round((2*$coreZ)/$fiberSizeZ+0.49999)}];
set nbCoreFiberY [expr {round((2*$coreY)/$fiberSizeY+0.49999)}];
patch quadr $coreID $nbCoreFiberZ $nbCoreFiberY -$coreY -$coreZ -$coreY $coreZ $coreY $coreZ $coreY -$coreZ

# Define the four cover patches
set nbCoverFiberZ_RL [expr {round(($coverZ-$coreZ)/$fiberSizeZ+0.49999)}];
set nbCover12FiberY_RL [expr {round((2*$coverY)/$fiberSizeY+0.49999)}];
set nbCoverFiberZ_TB [expr {round((2*$coverZ)/$fiberSizeZ+0.49999)}];
set nbCover12FiberY_TB [expr {round(($coverY-$coreY)/$fiberSizeY+0.49999)}];
patch quadr $coverID $nbCoverFiberZ_RL $nbCover12FiberY_RL -$coverY $coverZ -$coreY $coreZ $coreY $coreZ $coverY $coverZ; # Right cover patch
patch quadr $coverID $nbCoverFiberZ_RL $nbCover12FiberY_RL -$coreY -$coreZ -$coverY -$coverZ $coverY -$coverZ $coreY -$coreZ; # Left cover patch
patch quadr $coverID $nbCoverFiberZ_TB $nbCover12FiberY_TB -$coverY $coverZ -$coverY -$coverZ -$coreY -$coreZ -$coreY $coreZ; # Top cover patch
patch quadr $coverID $nbCoverFiberZ_TB $nbCover12FiberY_TB $coreY $coreZ $coreY -$coreZ $coverY -$coverZ $coverY $coverZ; # Bottom cover patch

# define reinforcing layers
layer straight $steelID $numBarsInt $barAreaInt -$coreY $coreZ $coreY $coreZ; # intermediate skin reinf. +z
layer straight $steelID $numBarsInt $barAreaInt -$coreY -$coreZ $coreY -$coreZ; # intermediate skin reinf. -z
layer straight $steelID $numBarsTop $barAreaTop $coreY $coreZ $coreY -$coreZ; # top layer reinfocement
layer straight $steelID $numBarsBot $barAreaBot -$coreY $coreZ -$coreY -$coreZ; # bottom layer reinforcement
}
geomTransf Linear 1
element zeroLengthSection 1 1 2 1
recorder Node -file section.out -time -node 2 -dof 3 disp


system SparseGeneral -piv
test NormUnbalance 1.e-3 10
numberer Plain
constraints Plain
integrator LoadControl 0.
algorithm Newton
analysis Static

pattern Plain 2 "Linear" {
load 2 0.0 0.0 1.0
}

integrator DisplacementControl 2 3 1.e-4
analyze 100
by Jhno
Mon Nov 06, 2017 5:51 am
Forum: OpenSees.exe Users
Topic: Max shear
Replies: 2
Views: 935

Re: Max shear

Ah, thanks alot again :wink: !
by Jhno
Mon Nov 06, 2017 5:49 am
Forum: OpenSees.exe Users
Topic: Section recorder
Replies: 2
Views: 882

Re: Section recorder

Thanks for the answer!