Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

I need some guides to write a code for solution of geometrically nonlinear problems

Status
Not open for further replies.

peto24ap

Structural
Oct 7, 2014
14
0
0
SK
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 ?
 
Replies continue below

Recommended for you

Look at this series of lectures and the notes that are with them. It's given by the author of ADINA and derives and explains exactly this problem in quite a lot of detail. It can also help if you have his book "Finite Element Procedures" by Bathe


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.
 
Thank you for your reply,

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) ?
 
I'm not entirely clear on this, but I don't think you should ever be calculating F_int from F_int = Ke * u. Isn't it that the 'u' is the displacement at the end of the iteration, but you don't know that when you're forming the element matrices. So instead you use F_int = Integral (Bt * sigma) dV where sigma is the stress at the end of the previous iteration. I'm not sure why the distinction but this is how I see it.

Hopefully you should find that
Integral (Bt * sigma) dV​
is the same as
[-EA*epsilon 0 0 EA*epsilon 0 0]​
?

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).

 
Hi Dirnad,

==== 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.
 
I don't really understand your problem. Maybe you've solved it already?

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?

 
Status
Not open for further replies.
Back
Top