Dear fipy folks --
I am solving a problem of ocean circulation on a thin spherical shell; the
domain is too large to ignore the spherical nature of the earth. The
problem is of the form
eq = (DiffusionTerm(var=Psi,coeff=DiffCoeff)+
ExponentialConvectionTerm(var=Psi,coeff=convCoeff))
And I have incorporated all the of the appropriate metric terms for a
spherical shell into the coefficients above. My problem comes as I strive
to make the solution more realistic by applying Neumann BC's to some parts
of the problem. The usual formulation for setting \Del\dot\Psi \dot normal
= 1
psi.faceGrad.constrain(1.0*mesh.faceNormals,faceMask)
will not work because on a spherical shell the gradient is equal to
\Del f = (1/r) dF/d(lat)*(unit vector latitude) +
(1/(r*cos(lat)))*dF/d(long)*(unit vector longitude)
Is there any easy way to constrain the faceGrad to something like
constant = A*dPsi/dx+B*dPsi/dy
where x and y are the spatial coordinates, and A and B are arbitrary
factors? That way I could easily include the metrics...
Thanks,
Jamie Pringle
University of New Hampshire
_______________________________________________
fipy mailing list
[email protected]
http://www.ctcms.nist.gov/fipy
[ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]