Programming University

YouTube FEA Comment Reply

I was wondering what the technique is called that you used on the K matrix before solving for U?
The one where it takes the BC and makes 0 rows and columns, and then makes the K(i,i)=1 at the BC – GoPDemon

I first convert the boundary matrix into a vector so that it is easier to deal with. The code just creates an empty vector the correct size, then fills it with the rows and columns of the user defined boundary points.

%First boundarys must be convertered to vector
%Create empty boundary vector
BC(1:(size(nodes,1)*n_multi),1) = 0;
%Zero column increment
h = 1;

%Convert boundary matrix to vector
for node_r = 1:size(nodal_boundary,1)
    %For each row get the column force
    for node_c = 1:size(nodal_boundary,2)
        %Put the force into the vector F
        BC(h) = nodal_boundary(node_r, node_c);
        h = h+1;

Then, to apply to boundary conditions to the stiffness matrix, I scan the new vector BC for fixed points (1). At these points, the row and column of K is zero’d and the diagonal set to 1.

%Loop to zero forces at boundaries
for i = 1:size(BC,1)
    %If statement to set lines and columns coresponding to constrained
    %point to zero
    if BC(i) == 1
        K(i,:) = 0;
        K(:,i) = 0;
        %Set diagonal term to 1
        K(i,i) = 1;
        %Zero force at boundary
        F(i) = 0;

Hope that was the explanation you meant.

3 replies on “YouTube FEA Comment Reply”

Thanks for the reply.

I was wondering if there was a name for this technique? I am currently taking an FEA course in university and the only similar technique I was given was

One step of my assignment is to actually do a matlab FEA program. My professor gave us this method,

But it gives me unreasonably low results for this bike frame (it worked for a simple truss).

Using the method you described above gave me reasonable results (change in length by mm’s, using my professors method gave me extremely low results.

Since my professor never mentioned your method in the results, I was looking for a reference name to the technique you used to see if I can explain it to him.

Thanks for the response. I was wondering if this method has a name that I could reference or a book I could look into.

It’s been a while since I did it but I believe it is part of the direct stiffness method; assuming each element is a uniform spring, any fixed points are assumed to have zero displacement.

Since k.u = f any zero in the displacement vector u will eliminate the corresponding row and column on the same index of the k matrix. Using the matrix in that question as an example, if u_1 is known to be zero, rows k_{1n} and columns k_{n2} are also zero. It’s a simplification and clearly not real world as no materials deform uniformly.

There are methods to non-linearise this, but they are much more complex to programme. I believe most commercial packages use this but with millions of elements.

Leave a Reply