Closed ajos6183 closed 6 years ago
Hi Anthony,
Thank you for the interest in the project. The development of the project is still ongoing. I need to do couple of things before it is uploaded to ensure all the linear algebra library is free to be distributed and I also need to take out some things from 3D-NLFEA that has not yet published in the journals.
At the moment I'm still busy working on my thesis so I think the code will be uploaded in early next year.
Regards, Bambang Piscesa
Thanks Bambang for your quick response.
I myself am writing a Non-Linear Geometric Analysis package for 3D beams. I have progressed well with it but i still have some bugs that i am having a hard time to resolve.
I am using a 3D Bernoulli Beam Element and this is my pseudo-code:
Define Analysis Nodes and Members
Calculate Coordinates and Transformations
For Each Load Steps
Update Load Vectors and Calculate Starting Residual
Calculate Structure Tangent Stiffness Matrix
Perform Full Newton Raphson Method: While ResidualNorm > tolerance
Solve for displacement of this iteration
Update Incremental Displacement
Calculate Axial
Update Structure Tangent Stiffness Matrix
Calculate Residual
Calculate ResidualNorm
End Newton Raphson Method
Update Total Displacements
Calculate Member Displacements
Update Coordinates and Transformations
Increment Member Nodal Forces
Increment Reactions
End Load Step
Calculate Member Forces
I am not exactly sure if the coordinates should be updated every iteration or every increment only and whether the Member displacements and forces (using an interpolation) should be done at every iteration, every increment or only once at the end.
Would it be possible to look at your code particularly at the Non-linear solver part? or at least suggest a good theoretical reference or another github project that may assist?
Any help however small will be really appreciated
Thank you, Anthony
Hi Anthony,
For non-linear geometric analysis, the coordinate must be updated on each Newton-Rhapson iteration. If you only update on every increment, you need to have considerably small load step. However, the load-path is slightly different.
I still remember doing non-linear buckling analysis with scaled mode 1 deformation as the initial imperfection, using the only updated coordinate at the end of every load step with large load step, the load went higher than the Euler elastic buckling load but after some load step it goes back to the Euler elastic buckling load. On the other hand, using small increment can perfectly capture the Euler elastic buckling load despite of only updating the coordinate at the end of every load step.
However, my supervisor said it is wrong. The coordinate must be updated on each Newton-Rhapson iteration. This way, the equilibrium is consistent and independent of the load step. It does not matter if you use small or big increment, the Euler elastic buckling load will be obtained and there would be no load overshooting. However, if you are using big increment, more Newton-Rhapson iteration is required.
Regarding the internal force vector of the member. It must be executed on each Newton-Rhapson iteration.
Below is the link for the non-linear part of my code in C#:
https://1drv.ms/u/s!AnGsSFoChcZBg49YNZFS1OJIqx5aDQ
Hope that helps.
Regards, Bambang
Thanks for the info and for sharing your code, i will try your suggestions and see how this goes.
Do you know of any good resource for non-linear beams that i can refer to?
Hi Anthony,
For non-linear analysis, I would recommend three books:
[1] Nonlinear finite element analysis of solids and structures (2012). Rene de Borst, Mike A. Crisfield… [2] Nonlinear finite element analysis of solids and structures (1991) Volume 1. M.A. Crisfield [3] Nonlinear finite element analysis of solids and structures (1991) Volume 2. M.A. Crisfield
The basic of non-linear analysis from a simple one to a complex one are there. You just need to change the elements into frame formulation. For nonlinear frame analysis, it’s better to use gauss point in the numerical integration (iso-parameteric formulation). Please refer to Filip C. Fillippou works for that. Also see OPENSEES software for more information on nonlinear frame analysis.
Regards, Bambang
Hi Piscesa,
Did you end up writing any code in this project?
Thanks, Anthony