I am new to Calculix. I want to define heating power on a body which varies according to temperature at a position in this body or another adjacent body. Google does not give usable result. Is this possible in Calculix?
For that you would have to write a cflux.f (for concentrated heat flux) or dflux.f (for distributed heat flux) subroutine. Check their descriptions in CalculiX User’s Manual (chapter 8. User subroutines).
If it’s heat transfer from an adjacent object, you could use conduction through a thermal resistance (*GAP CONDUCTANCE) or simply connect the meshes in the normal way.
If it’s something like a chemical reaction where the heat generation rate depends on temperature and also changes the temperature in a feedback loop, then you’d probably have to write a custom dflux.f as Calc_em suggested.
Thank you for your attention!
In my case a heating coil is embeded in a plate. I want to let the heating power of heating coil vary automatically according to temperature at a monitored point inside the plate. With extra heat transfer boundary conditions applied on plate, it is expected stable status will be reached and the temperature at the monitored point in the plate will be stable at a prescribed value.
If I give the element set for the heating coil under *DFLUX, e.g.
*DFLUX COIL, BFNU
Can I still get temperature at a position of plate (i.e. a body which is different with the element set provided under *DFLUX)?
By the way, is the user subroutine of CalculiX similar with ABAQUS? I find the manual of CalculiX seems limited on explanation on user subroutine and maybe I can try to learn writing user subroutine from ABAQUS.