CatenaryCableElement: Difference between revisions
(Created page with '{{CommandManualMenu}} This command is used to construct a catenary cable element object. {| | style="background:lime; color:black; width:800px" | '''element CatenaryCable $ta...') |
No edit summary |
||
Line 43: | Line 43: | ||
# Valid queries to the CatenaryCable element when creating an ElementalRecorder object correspond to 'forces', which output the end-forces of the element in global coordinates (3 for each node). | # Valid queries to the CatenaryCable element when creating an ElementalRecorder object correspond to 'forces', which output the end-forces of the element in global coordinates (3 for each node). | ||
# Only the lumped-mass formulation is currently available. | # Only the lumped-mass formulation is currently available. | ||
# The element does up 100 internal iterations. If convergence is not achieved, will result in error and some diagnostic information is printed out. | |||
Latest revision as of 23:29, 30 June 2017
- Command_Manual
- Tcl Commands
- Modeling_Commands
- model
- uniaxialMaterial
- ndMaterial
- frictionModel
- section
- geometricTransf
- element
- node
- sp commands
- mp commands
- timeSeries
- pattern
- mass
- block commands
- region
- rayleigh
- Analysis Commands
- Output Commands
- Misc Commands
- DataBase Commands
This command is used to construct a catenary cable element object.
element CatenaryCable $tag $iNode $jNode $weight $E $A $L0 $alpha $temperature_change $rho $errorTol $Nsubsteps $massType |
$eleTag | unique element object tag |
$iNode $jNode | end nodes (3 dof per node) |
$E | elastic modulus of the cable material |
$A | cross-sectional area of element |
$L0 | unstretched length of the cable |
$alpha | coefficient of thermal expansion |
$temperature_change | temperature change for the element |
$rho | mass per unit length |
$errortol | allowed tolerance for within-element equilbrium (Newton-Rhapson iterations) |
$Nsubsteps | number of within-element substeps into which equilibrium iterations are subdivided (not number of steps to convergence) |
$massType | Mass matrix model to use ($massType = 0 lumped mass matrix, $massType = 1 rigid-body mass matrix (in development)) |
This cable is a flexibility-based formulation of the catenary cable. An iterative scheme is used internally to compute equilibrium. At each iteration, node i is considered fixed while node j is free. End-forces are applied at node-j and its displacements computed. Corrections to these forces are applied iteratively using a Newton-Rhapson scheme (with optional sub-stepping via $Nsubsteps) until nodal displacements are within the provided tolerance ($errortol). When convergence is reached, a stiffness matrix is computed by inversion of the flexibility matrix and rigid-body mode injection.
Notes:
- The stiffness of the cable comes from the large-deformation interaction between loading and cable shape. Therefore, all cables must have distributed forces applied to them. See example. Should not work for only nodal forces.
- Valid queries to the CatenaryCable element when creating an ElementalRecorder object correspond to 'forces', which output the end-forces of the element in global coordinates (3 for each node).
- Only the lumped-mass formulation is currently available.
- The element does up 100 internal iterations. If convergence is not achieved, will result in error and some diagnostic information is printed out.
Code Developed by: Pablo Ibañez and José A. Abell at Universidad de los Andes, Chile
EXAMPLE:
# This example implements a slight modification of the verification test from reference #1.
#
model BasicBuilder -ndm 3 -ndf 3
set x 30. ; #Set to example from paper x = 30, 60, 80, 100. Will not work for x=0.01, system ill-conditioned.
node 1 0.0 0.0 90.0
node 2 [expr $x/2] 0.0 40.0
node 3 $x 60 30.
fix 1 1 1 1
fix 2 0 1 0
fix 3 1 1 1
set w3 -0.00001
set E 3.e7
set A 1.
set L0 100.
set alfa 6.5e-6
set cambiodetemp 100.
set rho [expr $w3 / 9.81]
set errorTol 1e-6
set NSubSteps 20
element CatenaryCable 1 1 2 $w3 $E $A [expr $L0/2] $alfa $cambiodetemp $rho $errorTol $NSubSteps 0
element CatenaryCable 2 2 3 $w3 $E $A [expr $L0/2] $alfa $cambiodetemp $rho $errorTol $NSubSteps 0
set NSteps 10
timeSeries Linear 1 -factor 1
pattern Plain 2 1 {
eleLoad -ele 1 2 -type -beamUniform 0. 0. -1
}
recorder Node -file "disp.txt" -time -nodeRange 1 3 -dof 1 2 3 disp
recorder Element -file "forces.txt" -time -eleRange 1 2 force
system FullGeneral
constraints Plain
numberer Plain
test NormDispIncr 1.0e-5 100 1
integrator LoadControl [expr 1.0/$NSteps]
algorithm Newton
analysis Static
analyze $NSteps
print -node 2
Results should be:
Node: 2 Coordinates : 15 0 40 Disps: 8.58693 0 2.82578 unbalanced Load: 0 0 0 ID : 0 -1 1
Compare the forces.txt (for node 3) file with the results from reference [1].
References
1. Salehi Ahmad Abad, M., Shooshtari, A., Esmaeili, V., & Naghavi Riabi, A. (2013). Nonlinear analysis of cable structures under general loadings. Finite Elements in Analysis and Design, 73, 11–19. https://doi.org/10.1016/j.finel.2013.05.002
2. Thai, H. T., & Kim, S. E. (2011). Nonlinear static and dynamic analysis of cable structures. Finite Elements in Analysis and Design, 47(3), 237–246. https://doi.org/10.1016/j.finel.2010.10.005