Geometrically nonlinear analysis
Geometrically nonlinear analysis
(OP)
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





RE: Geometrically nonlinear analysis
(5) calculating new displacements: u(2) = inv Kt(1) * F
to
(5) calculating an estimate of the errors in the current displacements: Du = inv Kt(1) * F
(6) calculating the next estimate of the displacements: u(2) = u(1) +/- Du
RE: Geometrically nonlinear analysis
I am updating coordinates within step (2) in stiffness matrix calculation. Kt is computed from the coordinates after the deformation from each step.
I think there is a problem in calculating internal forces vector. In this step I am using tangent stiffness matrix which is probably not correct. It should be probably only Ke (elastic stiffness). I have problems with this substep - calculating internal forces vector. Which matrices (Ke or Kt) and in which state (initial or after deformation) should I use ? And which transformation matrix ?