# Node numbering scheme for Fem problems

1. Aug 10, 2013

### Ronankeating

Dear All,

How important is the node numbering scheme for simple fem problems or is it important at all?

It will be much easier to explain that by example, if I have following linear algebraic equations to solve with direct stiffness method $\ K*\left\{X\right\}=F$ where K global stiffness, X unknowns, F global forces acting on nodes. During the composition of that equation, node numbering scheme affects only the transformation matrix and sequential integration of each inner product into global matrices, since each individual side of equation will be affected by that accordingly then it shouldn't affect the result, am I correct in that reasoning or not ?

For your information I prefer to use Gauss elimination or LU decomposition for equation solution, if it's got anything to do with node numbering scheme?

Regards,

2. Aug 10, 2013

### SteamKing

Staff Emeritus
The node numbering also influences the maximum bandwidth of the stiffness matrix. The half-bandwidth of the symmetric K matrix is equal to the maximum difference in the member node numbers times the DOF of the elements used. For small matrices, the node numbering may not affect storage space requirements or solution times too greatly, but for large structures with hundreds or thousands of nodes, optimizing the node numbering can result in significant savings in storage requirements and solution times. Most commercial (and some non-commercial) FEM codes incorporate an optimization routine which allows the user to input arbitrary node numbers. The optimization routine analyzes the arbitrary numbering scheme and produces an alternate node numbering scheme which is used for internal calculations. This flexibility also does not confine the user to using node identifiers composed solely of digits: a node identifier can be composed of a combination of letters and digits instead, to allow for better sorting of results.

3. Aug 11, 2013

### Ronankeating

Thanks for commenting, as you expressed node numbering schemes can affect only the optimization of global matrices but actually it shouldn't affect the result, right?

Probably my issue is not completely related with node numbering scheme but instead with connectivity of elements. To be more specific in my case, I have fully working code in fortran which is capable to solve 3D frame/beam element (12 dof per node) structures (both from Timoshenko and Euler/Bernoulli theory) and completely conforms with commercial applications.

The difficulty that I'm experiencing is that, for frame element first(node_i) and second(node_j) node numbering is (e.g. node_i=8; node_j=6 ) and completely gives the correct results, if I reverse that to node_i=6; node_j=8 then everything breaks down.

Based on those facts, changing the connectivity data for first and second node numbers of beam shouldn't affect the result and I believe that node numbering scheme has nothing to do with correct or wrong results. The most probable reason for that is composition of transformation matrix is wrong, If I'm correct in my reasoning, my question morphs to "What is transformation matrix for 3D frame element where Z is vertical axis" I do have a books where transformation matrix is shown but generally they take the Y axis as a vertical axis in respect, but for my scene vertical axis is Z. I think that discrepancy is originating from here and I should find a proper way to formulate the transformation matrix which takes Z axis as vertical into respect.

Regards,

4. Aug 11, 2013

### SteamKing

Staff Emeritus
The node numbering scheme should not affect the proper function of your code, if the code indeed has no errors in logic or construction. To test, select a sample structure where you have a known solution. If you get different results for different node numbering schemes, then there is a problem internal to the code.

It's not clear what you mean when you say 'everything breaks down' on reversing the nodes of a given member. Are any of these nodes where a boundary condition might be applied?

I don't know that having one axis of a 3-D cartesian coordinate system as the vertical axis makes a difference in deriving the proper transformation matrix. The following link gives a good description of the transformation matrix for 3-D cartesian coordinates.

In order to establish a right-handed coordinate system which is local to a particular member, some FEM programs ask the user to supply a reference node which is external to the member. In most cases, the member local x is defined by the line segment connecting the two end nodes, and the reference node establishes a local y direction for the member, and local z would be determined by the cross product of the two local vectors.