I am storing the mass, stiffness, and DoF matrices in files. Somehow I must be doing something terribly wrong because the (last column in the) DoF matrix refers to nodes that are beyond the maximum size (node numbers I suppose) defined in the mass matrix. I am trying to calculate modal masses from the Mass matrix and mode displacement outputs. The mass matrix has size 7299 x 7299, the DoF matrix refers to maximum node number 7464, and the displacement vector has a length of only 2488. I am lost, help !
Comments
Constrained DOFs are condensed out of the matrices so it looks like you have:
2488 nodes
2488 nodes * 3 DOFs per node = 7464 DOFs in total
7299 unconstrained DOFs
7476-7299 = 165 constrained DOFs (equivalent to 55 fully constrained nodes)
The manual says that the DOF file refers to condensed DOFs as being at row 0 in the matrices. But it turns out there's a bug and that's not happening. Instead, it's showing a row number beyond the end of the matrix. The other numbers are still in the correct order. To work around it, treat any DOF numbers (3rd field in the DOF file) greater than 7299 as being condensed.
Thanks for reporting this bug. It's been present for a long time and I'll fix it for version 14.
*NODE PRINT
and it generates a .dat file in the working directory (configure that in Tools -> Options -> CalculiX)
Your constrained DoFs make sense.
I will try all in the morning.
First some sleep, it is already early in the morning over here (Netherlands).
"*ERROR in e_c3d: nonpositive jacobian determinant in element XYZ"