objref secMat
NpN = 1 * spatial_factor
MASpN = 2 * spatial_factor
PSpN = 2 * spatial_factor
ISpN = 6 * spatial_factor
SpN = 11 * spatial_factor
secMat = new Matrix(totalSections,3)
for i=0, nodeSections/spatial_factor -1 {
for j=0, ISpN/2-1 {
secMat.x[i*SpN + j][0] = 1
secMat.x[i*SpN + j + ISpN/2 + PSpN + MASpN + NpN][0] = 1
secMat.x[i*SpN + j][1] = i*ISpN + j
secMat.x[i*SpN + j + ISpN/2 + PSpN + MASpN + NpN][1] = i*ISpN + ISpN/2 + j
secMat.x[i*SpN + j][2] = isLength
secMat.x[i*SpN + j + ISpN/2 + PSpN + MASpN + NpN][2] = isLength
}
for j=0, PSpN/2-1 {
secMat.x[i*SpN + ISpN/2 + j][0] = 2
secMat.x[i*SpN + ISpN/2 + PSpN/2 + MASpN + NpN + j][0] = 2
secMat.x[i*SpN + ISpN/2 + j][1] = i*PSpN + j
secMat.x[i*SpN + ISpN/2 + PSpN/2 + MASpN + NpN + j][1] = i*PSpN + PSpN/2 + j
secMat.x[i*SpN + ISpN/2 + j][2] = psLength
secMat.x[i*SpN + ISpN/2 + PSpN/2 + MASpN + NpN + j][2] = psLength
}
for j=0, MASpN/2-1 {
secMat.x[i*SpN + ISpN/2 + PSpN/2 + j][0] = 3
secMat.x[i*SpN + ISpN/2 + PSpN/2 + MASpN/2 + NpN + j][0] = 3
secMat.x[i*SpN + ISpN/2 + PSpN/2 + j][1] = i*MASpN + j
secMat.x[i*SpN + ISpN/2 + PSpN/2 + MASpN/2 + NpN + j][1] = i*MASpN + MASpN/2 + j
secMat.x[i*SpN + ISpN/2 + PSpN/2 + j][2] = masLength
secMat.x[i*SpN + ISpN/2 + PSpN/2 + MASpN/2 + NpN + j][2] = masLength
}
if (NpN == 1){
secMat.x[i*SpN + ISpN/2 + PSpN/2 + MASpN/2][0] = 4
secMat.x[i*SpN + ISpN/2 + PSpN/2 + MASpN/2][1] = i
secMat.x[i*SpN + ISpN/2 + PSpN/2 + MASpN/2][2] = nodeLength
} else{
for j=0, NpN/2-1 {
secMat.x[i*SpN + ISpN/2 + PSpN/2 + MASpN/2 + j][0] = 4
secMat.x[i*SpN + ISpN/2 + PSpN/2 + MASpN/2 + NpN/2 + j][0] = 4
secMat.x[i*SpN + ISpN/2 + PSpN/2 + MASpN/2 + j][1] = i*NpN + j
secMat.x[i*SpN + ISpN/2 + PSpN/2 + MASpN/2 + NpN/2 + j][1] = i*NpN + NpN/2 + j
secMat.x[i*SpN + ISpN/2 + PSpN/2 + MASpN/2 + j][2] = nodeLength
secMat.x[i*SpN + ISpN/2 + PSpN/2 + MASpN/2 + NpN/2 + j][2] = nodeLength
}
}
}