peto24ap
Structural
- Oct 7, 2014
- 14
Hi everybody,
I am trying to write my own code for geometric nonlinear analysis of mixed cable, truss and beam structure. I am trying to follow Newton-Raphson procedure (non incremental) from Ansys theory manual, but I cant achieve convergence. Here is my flow:
==== Linear analysis ====
u(1) = inv Kt(0) * Fa
results are correct (compared with Ansys)
==== Nonlinear analysis ====
while sum(Fa-Fnr) > 1e-3
(1) calculating new transformation matrix T
(2) calculating new tangent stiffness matrix Kt(1) based on displacements u(1) and axial forces on elements from displacements u(1) and new transformation matrix T
(3) calculating internal nodal forces: Kt(1) * u(1) = Fnr
(4) calculating residulas: F = Fa - Fnr
(5) calculating new displacements: u(2) = inv Kt(1) * F
return to step (1)
end
Fa = applied load
Fnr = vector of nodal internal forces
F = vector of residual nodal forces
With this code I am not able to achieve any result even for a simple problem (3 dofs). Am I doing something wrong ? Does the presented loop descibe Newton-Rhapson procedure ? Can you help me improve my code ?
Thank you
Peter
I am trying to write my own code for geometric nonlinear analysis of mixed cable, truss and beam structure. I am trying to follow Newton-Raphson procedure (non incremental) from Ansys theory manual, but I cant achieve convergence. Here is my flow:
==== Linear analysis ====
u(1) = inv Kt(0) * Fa
results are correct (compared with Ansys)
==== Nonlinear analysis ====
while sum(Fa-Fnr) > 1e-3
(1) calculating new transformation matrix T
(2) calculating new tangent stiffness matrix Kt(1) based on displacements u(1) and axial forces on elements from displacements u(1) and new transformation matrix T
(3) calculating internal nodal forces: Kt(1) * u(1) = Fnr
(4) calculating residulas: F = Fa - Fnr
(5) calculating new displacements: u(2) = inv Kt(1) * F
return to step (1)
end
Fa = applied load
Fnr = vector of nodal internal forces
F = vector of residual nodal forces
With this code I am not able to achieve any result even for a simple problem (3 dofs). Am I doing something wrong ? Does the presented loop descibe Newton-Rhapson procedure ? Can you help me improve my code ?
Thank you
Peter