Ah, in that case the example I sent is not directly applicable. But I think you still need a pyop2 kernel to copy the nodal values -- you might be able to adapt the example: just remove the 2d function and do something like "func[d+e][c] = func[d][c];" in the kernel loop (depending on which surface you are copying from). The 3d function should have access op2.RW instead of op2.READ. - Tuomas On 12/10/2015 09:44 AM, Floriane Gidel [RPG] wrote:
No Onno, at the moment phis is a *3D function, phis(x,y,z)*, which is defined in the whole 3D domain but updated from the equations *only at the surface* z=H0. I would like to copy this update in the interior nodes.
To include a 2D function phis(x,y) in the equations is a different problem (which might work as well, but it's not what we consider at the moment).
Floriane
------------------------------------------------------------------------ *De :* firedrake-bounces@imperial.ac.uk <firedrake-bounces@imperial.ac.uk> de la part de Onno Bokhove <O.Bokhove@leeds.ac.uk> *Envoyé :* jeudi 10 décembre 2015 17:16 *À :* firedrake@imperial.ac.uk *Objet :* Re: [firedrake] 2D to 3D function
To rephrase that:
The 2D function: phis(x,y) should become
a 3D function: phis_extended(x,y,z) independent of z, i.e.,
its value does not vary in the z-direction but can vary in the horizontal and time.
How does one do that in FD?
------------------------------------------------------------------------ *From:* firedrake-bounces@imperial.ac.uk <firedrake-bounces@imperial.ac.uk> on behalf of Floriane Gidel [RPG] <mmfg@leeds.ac.uk> *Sent:* Thursday, December 10, 2015 4:53 PM *To:* firedrake@imperial.ac.uk *Subject:* [firedrake] 2D to 3D function
Dear all,
First of all, thanks a lot for your time last Friday, and your help both for the implementation and for the installation of Firedrake.
I am now trying to implement the equations we discussed on Friday, for the 3D potential flow equations. As a reminder, I solve the equations for phi, h, but also phi_s which is a 3D function, but is only updated at the free surface. However, I would like to update the interior nodes of phi_s as well, by copying the value of its surface nodes, as soon as they are updated (that is, simultaneously with solving the coupled equations). Is there a way to do this?
I attach a short pdf summarising the equations, the current implementation and the issue I get.
Thank you very much,
Floriane
_______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake