Cable Modeling

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
blaiman
Posts: 56
Joined: Wed Jul 11, 2012 11:59 am
Location: RISA Tech, Inc.

Cable Modeling

Post by blaiman » Tue Dec 03, 2013 11:24 pm

I'm trying to do a mini-project for my cables class and trying to do a simple toy problem such as extracting the first 3 natural frequencies of a cable with a fixed-fixed end condition. I figured that by using the corotTruss element and uniaxialMaterial ElasticPP with the condition of compressive stress leads to 0 strain would do the job. I've seen that a couple years ago people posted up code containing uniaxialMaterial Cable but can't seem to find this in the wiki; is this because this particular class was removed for future packages? When trying to run the eigenvalue analysis, the file seems to run but all three natural frequencies are the same and ouput that says "ProfileSPDLinDirectSolver:solver()" shows up and I've never come across this one before. Does anyone have any insight to this matter or any experience with this type of situation. For reference, my code is attached as follows:

model basic -ndm 2 -ndf 3;
set dir CablesProject;
file mkdir $dir;

# Define Geometry
# Nodal Coordinates:
node 1 0 0;
node 2 25 -0.75;
node 3 25 -0.75;
node 4 50 -1.0
node 5 50 -1.0
node 6 75 -0.75;
node 7 75 -0.75;
node 8 100 0;

# Establish pin connections between overlapping nodes
equalDOF 2 3 1 2;
equalDOF 4 5 1 2;
equalDOF 6 7 1 2;

# Single Point Constraint
fix 1 1 1 0;
fix 5 1 1 0;

# Define Elements & Sections
# Define Material
set IDCable 1;
set E 210e9;

uniaxialMaterial ElasticPP $IDCable $E 0.1 0.0 0.0;

# Build Cross-Section
section Fiber 1 {
# patch circ $matTag $numSubdivCirc $numSubdivRad $yCenter $zCenter $intRad $extRad $startAng $endAng;
patch circ $IDCable 10 50 0.0 0.0 0.0 0.5 0.0 360.0;
}

# Define Geometric Transformation
set numIntgrPts 5;
set ColTransfTag 1;
set TransfTag 1;

geomTransf Corotational $TransfTag;

# Define Elements
#element corotTruss 1 1 2 1 -rho 1.0;
element truss 1 1 2 1 -rho 1.0;
element truss 2 3 4 1 -rho 1.0;
element truss 3 5 6 1 -rho 1.0;
element truss 4 7 8 1 -rho 1.0;

# Eigenvalue Analysis
set pi [expr 2.0*asin(1.0)];

set lambda [eigen 3]; # eigenvalue analysis

set lambda1 [lindex $lambda 0]; # get 1st lambda
set lambda2 [lindex $lambda 1]; # get 2nd lambda
set lambda3 [lindex $lambda 2]; # get 3rd lambda

set omega1 [expr pow($lambda1,0.5)]; # 1st natural frequency
set omega2 [expr pow($lambda2,0.5)]; # 2nd natural frequency
set omega3 [expr pow($lambda3,0.5)]; # 3rd natural frequency

puts "First 3 Natural Frequencies";
puts "omega1 = $omega1";
puts "omega2 = $omega2";
puts "omega3 = $omega3";
Brighton Laiman
Development Engineer
RISA Technologies
Foothill Ranch, CA

mhscott
Posts: 874
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: Cable Modeling

Post by mhscott » Wed Dec 04, 2013 9:32 am

The truss elements do not provide rotational stiffness, so you either need to use -ndf 2 or fix all the rotational DOFs in your model.

blaiman
Posts: 56
Joined: Wed Jul 11, 2012 11:59 am
Location: RISA Tech, Inc.

Re: Cable Modeling

Post by blaiman » Wed Dec 04, 2013 11:16 am

So I tried both options (making -ndf 2 and fixing the rotational DOFs) which leads to getting rid of those messages I mentioned previously. However, when I obtain my eigenvalues my first one shows to be a negative value. I saw on the the message boards that someone ran into a similar issue (obtaining a negative eigenvalue) but I tried all different options for the eigen command but all of the options spits back a message saying "eigen - unknown option specified ". As an alternative I'm thinking of possibly using beam elements to model a simple cable problem with pin connections throughout the multi-segments. Ideally though, I would like to use the corotational truss element to do this model since it only carries axial loads like cables do.
Brighton Laiman
Development Engineer
RISA Technologies
Foothill Ranch, CA

mhscott
Posts: 874
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: Cable Modeling

Post by mhscott » Wed Dec 04, 2013 11:25 am

Try modifying your model so that you do not have the overlapping nodes.

blaiman
Posts: 56
Joined: Wed Jul 11, 2012 11:59 am
Location: RISA Tech, Inc.

Re: Cable Modeling

Post by blaiman » Wed Dec 04, 2013 12:05 pm

I changed the model to have just 2 DOF at each node and removed the overlapping nodes; doing this still seems to give me the same issues as when I had the overlapping nodes and fixed the rotations with a 3DOF system. Is it having a hard time doing this mainly because of a stability issue when I try to use trusses instead of beam elements?
Brighton Laiman
Development Engineer
RISA Technologies
Foothill Ranch, CA

mhscott
Posts: 874
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: Cable Modeling

Post by mhscott » Wed Dec 04, 2013 12:21 pm

In the script you posted, you fixed node 5 instead of 8. Should it have been node 8 that was fixed? Was this corrected in your revised model (not posted)?

blaiman
Posts: 56
Joined: Wed Jul 11, 2012 11:59 am
Location: RISA Tech, Inc.

Re: Cable Modeling

Post by blaiman » Wed Dec 04, 2013 12:30 pm

Sorry, I didn't catch that before I posted it; but yes, I did change that constraint to be 8 with the revised models. I just replaced the corotTruss elements with dispBeamColumn elements with unit mass and those spit out the natural frequencies just fine. I ran both cases where the ends were fixed in all directions and another with pin-pin constraints. All segment connections are pinned at the nodes to release the moments and I am in the process of verifying these values obtained from OpenSees with the analytical solution.
Brighton Laiman
Development Engineer
RISA Technologies
Foothill Ranch, CA

blaiman
Posts: 56
Joined: Wed Jul 11, 2012 11:59 am
Location: RISA Tech, Inc.

Re: Cable Modeling

Post by blaiman » Wed Dec 04, 2013 2:55 pm

So I created an updated model that utilizes 100 elements instead of the original 4 that I used and posted. Along with the new meshing, I removed the extra nodes and changed it to 2DOFs per node. With 100 elements, I was finally able to obtain the eigenvalues now and they're about 10% off from the analytical natural frequencies. I'm curious though, is there any physical interpretation of a negative eigenvalue?
Brighton Laiman
Development Engineer
RISA Technologies
Foothill Ranch, CA

MDSmith526
Posts: 48
Joined: Sat Mar 13, 2010 4:13 pm
Location: USACE

Re: Cable Modeling

Post by MDSmith526 » Thu Jan 30, 2014 7:24 pm

This is an unstable model, isn't it? Can OpenSees handle rigid body displacements? You could have just asked me...
Matthew D Smith, PhD, PE
Research Civil Engineer
Information Technology Laboratory
Engineering Research and Development Center
US Army Corps of Engineers
Vicksburg, MS

fommy
Posts: 1
Joined: Mon Nov 30, 2020 7:44 am
Contact:

Re: Cable Modeling

Post by fommy » Mon Nov 30, 2020 7:52 am

Try modifying your model so that you do not have the overlapping nodes.
https://fommy.com/collections/toys

bazigarweb
Posts: 1
Joined: Sat Dec 05, 2020 3:44 am

Re: Cable Modeling

Post by bazigarweb » Sat Dec 05, 2020 3:54 am

The truss elements do not provide rotational stiffness.

رایمون گستر

Post Reply