On the previous post, we established 1D bar finite element. This time we will go more into the programming in C# and try to make some automation in our code. I will try to explain: - loops: for - methods in C# - arrays 1D and 2D In the beginning, we have to build a task for us, to not feel that we are losing time. So, let's imagine that we want to check the result for the same bar, but with several divisions. For example: Does the result will change if I will create 2 finite elements instead of 1? The beginning of the code will be looking the same: namespace FEM1d_basic_1 { class Program { static void Main(string[] args) { // The heading of the code Console .WriteLine("FEM 1D program for bar"); // The variables double emodulus = 210000; // 1000[kN/m2]=1GPa double barlength = 10; // [m] meters double elementarea = 0.01; // [m2] meter x meter
The problem with finite element analysis learning is that everybody is starting it from theory and after you are completely brainwashed, they start doing practical calculations. The theory for today FEM is so wide, that when you go for this super interesting practical case and you finally will apply your FE knowledge, suddenly ... it occurs you just do not remember theory... My approach here will be a little bit different. I will start explanation from a simple practical case, and I will be coming back to theory during the explanation. In this post, I will show 1D bar element and the method of basic programming it in C#. I assume you want to learn C# and FEM so I will try to say about both of them simultaneously. First thing first! The task is to calculate 1D bar, like on this figure: For simplification, we assumed: this is simple bar element, only compression or tension is allowed, there is no gravity, the deformation can be only according to the one direction (X). Th