Just to be clear -- this problem is on a shell -- there is no radial
dependence, and the mesh is two-dimensional.

Jamie

On Fri, Jul 1, 2016 at 10:35 AM, Pringle, James <[email protected]>
wrote:

> 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 ]

Reply via email to