Hello,
I have found FiPy to be a great tool so far, but I wanted to make sure that I
am using it correctly, because my results do not seem to be correct.
I am trying to represent this Hostetler 1-D Lake Equation:
$$
\frac{\partial T}{\partial t} = \nabla ([km + K(z,t)] \nabla T ) +
\frac{1}{C}\nabla \Phi
$$
with these boundary conditions (first is for the surface [z=0], seconds is for
the bottom of the lake):
$$[km + K(z,t)] \nabla T = EnergyBalanceEquation $$
$$[km + K(z,t)] \nabla T = 0 $$
Here is my representation:
(D[0]*temp).grad.constrain([fluxLeft],mesh.facesLeft)
(D[0]*temp).grad.constrain([fluxRight],mesh.facesRight)
eqX = TransientTerm() == (DiffusionTerm(coeff=D) +
(1./C))*Phi.arithmeticFaceValue.divergence)
where D is the diffusion coefficient calculated from km + K(z,t) . Throughout
the iterations, I reset the surface boundary with the following lines:
fluxLeft = heatEnergy*(1./C)
(D[0]*temp).grad.constrain([fluxLeft],mesh.facesLeft)
I am not sure if I represented the heat source term correctly. With this
current representation, the temperature is is being inversely affected by the
heat source (energy goes up, temperature drops.) There is also a major scaling
issue, as I am getting temperature values in the negative thousands.
Please advise, and thank you in advance for your timely help.
Tara Larrue
Intelligent Robotics Group
NASA Ames Research Center
_______________________________________________
fipy mailing list
[email protected]
http://www.ctcms.nist.gov/fipy
[ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]