How to release moment at the ends of a rigid link?
Moderators: silvia, selimgunay, Moderators
How to release moment at the ends of a rigid link?
Hi,
I am getting the following error when i run the transient analysis for a structure consisting of rigid links that are joined by hinges.
BandGenLinLapackSolver::solve() -factorization failed, matrix singular U(i,i) = 0, i= 1.
For making hinge i have used equalDOF command by introducing additional nodes at same location. But i think this might not work efficiently with rigid links. Please help me with this problem.
Thanks in advance.
I am getting the following error when i run the transient analysis for a structure consisting of rigid links that are joined by hinges.
BandGenLinLapackSolver::solve() -factorization failed, matrix singular U(i,i) = 0, i= 1.
For making hinge i have used equalDOF command by introducing additional nodes at same location. But i think this might not work efficiently with rigid links. Please help me with this problem.
Thanks in advance.
Re: How to release moment at the ends of a rigid link?
You don't have all the DOFs properly restrained. Probably missing something in the equalDOF command.
Re: How to release moment at the ends of a rigid link?
Dear Sir,
Thanks for the reply. I am attaching the desired code herewith. I wanted to make the connection of rigid link with the Beam structure as hinged i.e. nodes 2 and 3 with the rigid links as can be seen from the code below. Can you please tell me the mistake that i am doing so that i can modify my code and run it without error.?
Thanks in advance
############
wipe
model BasicBuilder -ndm 2 -ndf 3
set L 12
set W 10081.96
set E 200000000000
set A 0.0684
set Ac 0.3846
set G 79300000000
file mkdir modes
#Nodes#
node 1 0 0
node 2 [expr $L/4] 0
node 3 [expr $L/2] 0
node 4 [expr $L*3/4] 0
node 5 [expr $L] 0
#Mass#
mass 1 1260.245 1260.245 0
mass 2 2520.49 2520.49 0
mass 3 2520.49 2520.49 0
mass 4 2520.49 2520.49 0
mass 5 1260.245 1260.245 0
#Boundary conditions#
fix 1 1 1 0
fix 5 0 1 0
geomTransf Linear 1
section Elastic 1 $E $A 0.048
#Elements#
element elasticBeamColumn 1 1 2 $A $E 0.048 1
element elasticBeamColumn 2 2 3 $A $E 0.048 1
element elasticBeamColumn 3 3 4 $A $E 0.048 1
element elasticBeamColumn 4 4 5 $A $E 0.048 1
#Eigen value analysis#
set numModes 3
for { set k 1 } { $k <= $numModes } { incr k } {
recorder Node -file [format "modes/mode%i.out" $k] -nodeRange 1 5 -dof 2 "eigen $k"
}
set lambda [eigen $numModes]
record
set omega {}
set f {}
set T {}
set pi 3.141593
foreach lam $lambda {
lappend omega [expr sqrt($lam)]
lappend f [expr sqrt($lam)/(2*$pi)]
lappend T [expr (2*$pi)/sqrt($lam)]
}
puts "periods are $T"
set period "modes/Periods.txt"
set Periods [open $period "w"]
foreach t $T {
puts $Periods " $t"
}
close $Periods
wipeAnalysis;
puts "eigen value analysis is done"
rayleigh 1.3793 0.00029 0.0 0.0 ;
#Additional nodes#
node 6 [expr $L/4] 0
node 7 [expr $L/4] -0.3
node 16 [expr $L/2] 0
node 17 [expr $L/2] -0.3
#Hinges#
equalDOF 2 6 1 2
equalDOF 3 16 1 2
#Connections#
rigidLink beam 6 7
rigidLink beam 16 17
rigidLink beam 7 17
#Recorders#
recorder Node -file "disp3.DAT" -time -node 3 -dof 1 2 disp
##Loads##
#impulse
timeSeries Rectangular 3 1.99 2
pattern Plain 1 3 {
load 3 0 -1912950 0
}
#Time History Analysis
set NInput 2000;
set ndt 2;
set dtIn 0.01;
set dtAnalysis [expr $dtIn];
set NAnalysis [expr $NInput];
constraints Transformation ;
numberer RCM ;
system BandGeneral ;
test EnergyIncr 1e-7 25 0 ;
algorithm Newton ;
integrator Newmark 0.5 0.25 ;
analysis Transient ;
analyze $NAnalysis $dtAnalysis ;
puts "its working"
After running the code, i am getting the following error.
periods are 0.027128227866453587 0.011972208263442218 0.006829565050604229
eigen value analysis is done
WARNING BandGenLinLapackSolver::solve() -factorization failed, matrix singular U(i,i) = 0, i= 1
WARNING NewtonRaphson::solveCurrentStep() -the LinearSysOfEqn failed in solve()
DirectIntegrationAnalysis::analyze() - the Algorithm failed at time 0.01
OpenSees > analyze failed, returned: -3 error flag
its working
Re: How to release moment at the ends of a rigid link?
Tcl performs integer division.
set L 12
puts [expr $L/4]
will produce zero. Your nodes are all at zero coordinate. So, either set L 12.0 or divide by 4.0
set L 12
puts [expr $L/4]
will produce zero. Your nodes are all at zero coordinate. So, either set L 12.0 or divide by 4.0
Re: How to release moment at the ends of a rigid link?
That is not the problem sir, I have checked. My eigenvalue analysis and simple transient analysis without the rigid links run successfully, so I think there is some error with a hinged connection of the rigid link with the structure. Please verify the connections.
-
- Posts: 917
- Joined: Mon Sep 09, 2013 8:50 pm
- Location: University of California, Berkeley
Re: How to release moment at the ends of a rigid link?
Are you sure that it is not an unstable system when you have hinges at the member ends?
Re: How to release moment at the ends of a rigid link?
Yes, sir, I have to attach an additional system having rigid links that are free to rotate at the joint to the main beam through nodes 2 and 3. I even want a rigid link that is connected to another rigid link but the node joining both links should rotate. I am really stuck as EqualDOF for 2 nodes at the same location to create a hinge is not working. Please suggest some other alternative.selimgunay wrote: ↑Mon Jul 05, 2021 4:28 pm Are you sure that it is not an unstable system when you have hinges at the member ends?
Thanks in advance
-
- Posts: 917
- Joined: Mon Sep 09, 2013 8:50 pm
- Location: University of California, Berkeley
Re: How to release moment at the ends of a rigid link?
You can replace one of the equalDOF with a zerolength element that has quite large stiffness except the rotational DOF.