piscesa / 3DNLFEA

This repositories provides a free Three-Dimensional Non-Linear Finite Element Analysis for Reinforced Concrete Structures.
GNU General Public License v3.0
0 stars 0 forks source link

Any Progress with Project? #1

Closed ajos6183 closed 6 years ago

ajos6183 commented 6 years ago

Hi Piscesa,

Did you end up writing any code in this project?

Thanks, Anthony

piscesa commented 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

ajos6183 commented 6 years ago

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

piscesa commented 6 years ago

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

ajos6183 commented 6 years ago

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?

piscesa commented 6 years ago

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