I need some guides to write a code for solution of geometrically nonlinear problems
I need some guides to write a code for solution of geometrically nonlinear problems
(OP)
Hi all,
I am trying to follow Ansys theory manual for Newton Raphson analysis of geometrically nonlinear problems.
There is:
Kt * dU = (F_int - F_ext) (1)
u = u + dU (2)
Kt = Ke + Kg
dU = incrmenet of deformations (this is what we are looking for)
F_ext = vector of applied loads
but how do I calculate F_int ?
is it Ke * u = F_int ?
which Ke and transformation matrix (for beams and trusses) do I have to use ? Before or after deformation ?
I am trying to follow Ansys theory manual for Newton Raphson analysis of geometrically nonlinear problems.
There is:
Kt * dU = (F_int - F_ext) (1)
u = u + dU (2)
Kt = Ke + Kg
dU = incrmenet of deformations (this is what we are looking for)
F_ext = vector of applied loads
but how do I calculate F_int ?
is it Ke * u = F_int ?
which Ke and transformation matrix (for beams and trusses) do I have to use ? Before or after deformation ?





RE: I need some guides to write a code for solution of geometrically nonlinear problems
http://ocw.mit.edu/resources/res-2-002-finite-elem...
The short answer, I think is this, but check to be sure:
F_int = [-P 0 0 P 0 0]
Where P is the tensile force
This is for a 3D truss element in local coordinates. Then transform it using the transformation matrix that converts it to the deformed configuration. That is, the P forces end up in the axial direction that the element is actually in, not its original configuration.
RE: I need some guides to write a code for solution of geometrically nonlinear problems
In the meantime I have done it exactly the way you have wrote and it converges to the exact solution. Even more complex geometries converges. I know Bathe very well, I have gone thru Finite element procedures as well as his OCR MIT lectures, but I still have a /virtual/ problem.
You said that F_int = [-P 0 0 P 0 0]
where P = EA*epsilon
and epsilon = (L_current - L_0) / L_0
this is ok, and this way it converges.
But the procedure in Bathe and in any other literature says that F_int = Integral (Bt * sigma) dV, which in fact means F_int = Ke * u (Ke in the configuration after deformation).
This procedure will not give you the same value of P like the procedure descibed above. It converges (in means that residual forces are 0) but not in the exact solution.
Are there any other restrictions (for example for beams or solids) that I should take into account (in computing internal forces) ?
RE: I need some guides to write a code for solution of geometrically nonlinear problems
Hopefully you should find that
I'd also like to ask you how you form your geometric stiffness matrix (Kg) for a truss element. Do you have terms for all 3 directions, or only the two lateral directions? I ask this because it relates to my other question on this forum. I found that ANSYS's truss elements with stress stiffening seem to use a geometric stiffness matrix that excludes the axial stiffness (ie Kg_11, Kg_14, Kg_41 and Kg_44 are all zero).
RE: I need some guides to write a code for solution of geometrically nonlinear problems
==== For my question ====
in case of truss element F_int = Integral (Bt * sigma) dV, results in: epsilon = (u2 - u1)/L (what is correct for small displacement), but in case of large displacements (and rotations) the other directions are not negligable so you have use epsilon = (L_current - L_0) / L_0
==== For your question ====
I think I know exactly what you mean. Geometric stiffness matrix for truss elements is fully diagonal, it means Kg = [1 0 -1 0; 0 1 0 -1; -1 0 1 0; 0 -1 0 1] (ref. Bathe - Finite element procedures). Truss elements are not different from other elements, which geometric stiffness is calculated from K_g = Integral (BNL' * sigma * BNL) dV, what results in a matrix with full (positive if the stresses are positive) diagonal. I think that Ansys in their manual neglected the axial effect of stresses (forces), in comparison with elastic stiffness.
I can tell you my experience. I am dealing with numerical form-finding of structures what requires elastic stiffness which is nearly 0. If you form a global stiffness matrix with Ansys Kg you will end up with singular matrix. In case of fully diagonal matrix you will obtain your results.
RE: I need some guides to write a code for solution of geometrically nonlinear problems
Do you mean, why does that integral give only a small displacement result even though the text books say you should use it? In that case I think it's only small-displacement if you use a 1D stress scalar, which isn't really correct since it's a volume integral and should have some stress tensor in there. So it's easy to apply to solid elements but perhaps not practical for truss elements.
Another possible issue is if you're having large strains. Do the different results you're getting approach each other as strain approaches zero?
====
Thanks for your comment about K_g. It's still not clear to me why it should include those axial stiffness values. If your elements had near-zero tensile stiffness, then isn't it reasonable to expect a singular stiffness matrix, since they won't actually be able to support a load even in a real structure?