How to extract element conductivity matrix

Hello everyone!!,

I am currently working on developing a topology optimization for heat conduction and generating the following input file for each element to extract the element conductivity matrix:

*Node
1, 0.00000000E+00, 1.00000000E+00, 0.00000000E+00
2, 0.00000000E+00, 0.00000000E+00, 0.00000000E+00
3, 1.00000000E+00, 0.00000000E+00, 0.00000000E+00
4, 1.00000000E+00, 1.00000000E+00, 0.00000000E+00

*Element, Type=CPS4, Elset=Single_element
1, 1, 2, 3, 4
*MATERIAL, Name=MAT
*ELASTIC
1.0, 0.3
*DENSITY
1.0
*CONDUCTIVITY
1.0
*SPECIFIC HEAT
1.0
*SOLID SECTION, ELSET=Single_element, Material=MAT
1.0
*STEP, Inc=100
*HEAT TRANSFER, STEADY STATE
1, 1, 1E-05, 1E+30
*EL PRINT, Elset=Single_element
EVOL
*END STEP

*STEP
*HEAT TRANSFER,SOLVER=MATRIXSTORAGE,STORAGE=YES
*END STEP

The benchmark element conductivity matrix for a 1x1 square domain is:
Conductivity_matrix = np.array([[2/3 , -1/6, -1/3, -1/6],
[-1/6, 2/3, -1/6, -1/3],
[-1/3, -1/6, 2/3, -1/6],
[-1/6, -1/3, -1/6, 2/3]])

However, when running the above input file, the resulting conductivity matrix is:
Conductivity_matrix = np.array([[0.77777778, -0.11111111, -0.30555556, -0.11111111],
[-0.11111111, 0.77777778, -0.11111111, -0.30555556],
[-0.30555556, -0.11111111, 0.77777778, -0.11111111],
[-0.11111111, -0.30555556, -0.11111111, 0.77777778]])

This result doesn’t match the benchmark. If the specific heat is set to zero, the conductivity matrix aligns closely with the benchmark.

Could someone explain how the specific heat parameter affects the conductivity matrix? Is there a way to obtain the correct conductivity matrix without setting specific heat to zero?

Thanks in advance!!
Anoop

It’s surprising that specific heat affects a steady state matrix. Does it affect the solution too? If not, I wonder if it’s secretly doing a transient solve and making it look like steady state.