Hi Everyone,
I am trying implement a custom heat conduction model based on Batchelor and O’Brien's formulation, by modifying the given EDEM's used model (Chaudhari et al.). I have a certain contact model that does not use Hertz-Mindlin, so EDEM's default model cannot be used unfortunately.
I cannot seem to figure out the issue with the resultant change in temperatures. Can anyone please advise on resolving this issue?
Result
Initial temperatures: Particle 1 = 1000 K | Particle 2 = 500 K
Expected: Particle at higher initial temperature losing heat up to the point of average temperature (750 K), and vice versa.
Current: Continuous Sin/Cos wave pattern: Particle 1 drops to 500 K and then climbs back to 1000 K. Vice-versa for Particle 2.
The code is roughly as following:
Contact model (heat flux):
configforTimeStep:
particleManager->resetCustomProperty("myptc", HEAT_FLUX.c_str(), 0.0);
calculateForce:
if (element2.isSphere != 0)
{
double contactRadius = sqrt(2 * equivRadius(element1, element2) * contact.normalContactOverlap); // Coble geometric model
double heatCoefficient = 2 * contactRadius * resistivityFactor * thermalConductivity; // Batchelor and O’Brien'
double change = heatCoefficient * (*elem2Temp - *elem1Temp);
*elem1Flux += change;
*elem2Flux -= change;
}
Body force (temperature update):
externalForce:
double heatFlux = heatFluxVals[0] / (particle.mass * heatCapacity);
*temperatureChangeVals += heatFlux * timeStepData.timeStep;
Thank you.
Best regards,
MQ