Hello,
Is there a reference (publication) for the section state determination used for the NDFiberSection3d section? Especially for the matrix relating the section deformations to the fiber strains (axial and shear distribution)
Thanks,
Search found 4 matches
- Fri Apr 12, 2024 2:17 am
- Forum: OpenSees.exe Users
- Topic: Reference for NDFiberSection3d.cpp
- Replies: 0
- Views: 2987
- Thu Dec 14, 2023 5:03 am
- Forum: OpenSees.exe Users
- Topic: Positive and negative rotation in zero length rotational spring
- Replies: 2
- Views: 4443
Positive and negative rotation in zero length rotational spring
Hello,
If I define a zero-length rotational spring along the x-direction for a 3D model without specifying the local axis, does this imply that the positive moment and rotation will be in the positive global x-direction, and this is independent of the order of spring end nodes I and J?
Thanks a lot
If I define a zero-length rotational spring along the x-direction for a 3D model without specifying the local axis, does this imply that the positive moment and rotation will be in the positive global x-direction, and this is independent of the order of spring end nodes I and J?
Thanks a lot
- Tue Dec 12, 2023 3:13 pm
- Forum: OpenSees.exe Users
- Topic: Chord rotation recorder
- Replies: 1
- Views: 3804
Chord rotation recorder
Hello,
What does the chord rotation recorder do in a force-based beam column element? I am modeling a cantilever column with axial and lateral loads, and I obtain a non zero chord rotation at the free end. I am not sure why this happens since the inflection point is at the free end.
Thanks a lots for your help
What does the chord rotation recorder do in a force-based beam column element? I am modeling a cantilever column with axial and lateral loads, and I obtain a non zero chord rotation at the free end. I am not sure why this happens since the inflection point is at the free end.
Thanks a lots for your help
- Sat Sep 23, 2023 7:31 am
- Forum: OpenSees.exe Users
- Topic: How to: Static analysis with displacement in multiple DOFs
- Replies: 0
- Views: 74179
How to: Static analysis with displacement in multiple DOFs
Hello,
I am trying to simulate a column loaded axially with a constant axial force, and with 2 lateral loads (in the X and Z directions) and with an imposed top rotation along the Z-direction.
The load controlled axial load is fine, however, I have some problems when trying to add the 3 different displacement in displacement control (I need displacement control because the response exhibits softening). I have tried creating 3 different load patterns for each imposed displacement, as shown here:
while {$okTot == 0 && $i < $LoopLength} {
set index [expr $i]
#Lateral load X
pattern Plain [expr $LoopLength+$i] Linear {
load 2 1.0 0.0 0.0 0.0 0.0 0.0;
}
# We need to relative deformation of the loading protocol
# Subtract dUi+1 - dUi
set D1X [lindex $lateralDispX $index];
set D2X [lindex $lateralDispX $index-1];
#set dU1 [expr ($D1-$D2)*$L];
set dU1X [expr ($D1X-$D2X)];
# Create Nsteps from Amplitude to Amplitude
set dUX [expr ($dU1X)/$NSteps]
# Displacement Control Integrator
integrator DisplacementControl $CtrlNode $CtrlDOFLatX $dUX
puts "increment = [expr {$i}] / [expr {$LoopLength}] - Lateral X load";
set ok1 [ analyze $NSteps]
loadConst -time 0.0
# Lateral load Z
if {$ok1==0} {
pattern Plain [expr 2*$LoopLength+$i] Linear {
load 2 0.0 0.0 1.0 0.0 0.0 0.0;
}
# We need to relative deformation of the loading protocol
# Subtract dUi+1 - dUi
set D1Z [lindex $lateralDispZ $index];
set D2Z [lindex $lateralDispZ $index-1];
#set dU1 [expr ($D1-$D2)*$L];
set dU1Z [expr ($D1Z-$D2Z)];
# Create Nsteps from Amplitude to Amplitude
set dUZ [expr ($dU1Z)/$NSteps]
# Displacement Control Integrator
integrator DisplacementControl $CtrlNode $CtrlDOFLatZ $dUZ
puts "increment = [expr {$i}] / [expr {$LoopLength}] - Lateral Z load";
set ok2 [ analyze $NSteps]
loadConst -time 0.0
} else {
set ok2 1;
}
# Lateral rotation
if {$ok1==0 && $ok2==0} {
pattern Plain [expr 3*$LoopLength+$i] Linear {
load 2 0.0 0.0 0.0 0.0 0.0 1.0;
}
# We need to relative deformation of the loading protocol
# Subtract dUi+1 - dUi
set theta1Z [lindex $topRotation $index];
set theta2Z [lindex $topRotation $index-1];
#set dU1 [expr ($D1-$D2)*$L];
set dtheta1Z [expr ($theta1Z-$theta2Z)];
# Create Nsteps from Amplitude to Amplitude
set dthetaZ [expr ($dtheta1Z)/$NSteps]
# Displacement Control Integrator
integrator DisplacementControl $CtrlNode $CtrlDOFRotZ $dthetaZ
puts "increment = [expr {$i}] / [expr {$LoopLength}] - Rot Z load";
set ok3 [ analyze $NSteps]
loadConst -time 0.0
} else {
set ok3 1;
}
set okTot [expr $ok1 + $ok2 +$ok3]
set i [expr $i + 1 ]
}
However, the problem is that at each index i, the lateral displacement and the rotation in the z direction do not correspond to the one I want to impose. Because a displacement in the z direction creates a rotation in the z direction and vice-versa.
Can anyone help me with this? I appreciate it
I am trying to simulate a column loaded axially with a constant axial force, and with 2 lateral loads (in the X and Z directions) and with an imposed top rotation along the Z-direction.
The load controlled axial load is fine, however, I have some problems when trying to add the 3 different displacement in displacement control (I need displacement control because the response exhibits softening). I have tried creating 3 different load patterns for each imposed displacement, as shown here:
while {$okTot == 0 && $i < $LoopLength} {
set index [expr $i]
#Lateral load X
pattern Plain [expr $LoopLength+$i] Linear {
load 2 1.0 0.0 0.0 0.0 0.0 0.0;
}
# We need to relative deformation of the loading protocol
# Subtract dUi+1 - dUi
set D1X [lindex $lateralDispX $index];
set D2X [lindex $lateralDispX $index-1];
#set dU1 [expr ($D1-$D2)*$L];
set dU1X [expr ($D1X-$D2X)];
# Create Nsteps from Amplitude to Amplitude
set dUX [expr ($dU1X)/$NSteps]
# Displacement Control Integrator
integrator DisplacementControl $CtrlNode $CtrlDOFLatX $dUX
puts "increment = [expr {$i}] / [expr {$LoopLength}] - Lateral X load";
set ok1 [ analyze $NSteps]
loadConst -time 0.0
# Lateral load Z
if {$ok1==0} {
pattern Plain [expr 2*$LoopLength+$i] Linear {
load 2 0.0 0.0 1.0 0.0 0.0 0.0;
}
# We need to relative deformation of the loading protocol
# Subtract dUi+1 - dUi
set D1Z [lindex $lateralDispZ $index];
set D2Z [lindex $lateralDispZ $index-1];
#set dU1 [expr ($D1-$D2)*$L];
set dU1Z [expr ($D1Z-$D2Z)];
# Create Nsteps from Amplitude to Amplitude
set dUZ [expr ($dU1Z)/$NSteps]
# Displacement Control Integrator
integrator DisplacementControl $CtrlNode $CtrlDOFLatZ $dUZ
puts "increment = [expr {$i}] / [expr {$LoopLength}] - Lateral Z load";
set ok2 [ analyze $NSteps]
loadConst -time 0.0
} else {
set ok2 1;
}
# Lateral rotation
if {$ok1==0 && $ok2==0} {
pattern Plain [expr 3*$LoopLength+$i] Linear {
load 2 0.0 0.0 0.0 0.0 0.0 1.0;
}
# We need to relative deformation of the loading protocol
# Subtract dUi+1 - dUi
set theta1Z [lindex $topRotation $index];
set theta2Z [lindex $topRotation $index-1];
#set dU1 [expr ($D1-$D2)*$L];
set dtheta1Z [expr ($theta1Z-$theta2Z)];
# Create Nsteps from Amplitude to Amplitude
set dthetaZ [expr ($dtheta1Z)/$NSteps]
# Displacement Control Integrator
integrator DisplacementControl $CtrlNode $CtrlDOFRotZ $dthetaZ
puts "increment = [expr {$i}] / [expr {$LoopLength}] - Rot Z load";
set ok3 [ analyze $NSteps]
loadConst -time 0.0
} else {
set ok3 1;
}
set okTot [expr $ok1 + $ok2 +$ok3]
set i [expr $i + 1 ]
}
However, the problem is that at each index i, the lateral displacement and the rotation in the z direction do not correspond to the one I want to impose. Because a displacement in the z direction creates a rotation in the z direction and vice-versa.
Can anyone help me with this? I appreciate it