# Questions about using convect() in an axisymmetric (z,r) formulation

**URL:** <https://community.freefem.org/t/questions-about-using-convect-in-an-axisymmetric-z-r-formulation/4248>\
**Category:** General Discussion\
**Created:** [April 3, 2026, 6:18am UTC](https://community.freefem.org/t/questions-about-using-convect-in-an-axisymmetric-z-r-formulation/4248 "2026-04-03T06:18:44Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sirius](https://avatars.discourse-cdn.com/v4/letter/s/ecd19e/32.png) [@Sirius](https://community.freefem.org/u/Sirius)\
**Post date:** [April 3, 2026, 6:18am UTC](https://community.freefem.org/t/questions-about-using-convect-in-an-axisymmetric-z-r-formulation/4248/1 "2026-04-03T06:18:44Z")

</div>

Hello everyone,

I am solving an axisymmetric Navier–Stokes problem in FreeFEM on the meridional plane (z,r), with the mapping

x=z,y=r

So i use :

> ‘‘‘VhF urA = convect([uz,ur], -dt, ur);  
> VhF uzA = convect([uz,ur], -dt, uz);  
> VhF utA = convect([uz,ur], -dt, ut);’’’

My intention is that this represents the in-plane convection terms

u\_z \frac{\partial \phi}{\partial z} + u\_r \frac{\partial \phi}{\partial r}.

All cylindrical/axisymmetric extra terms are added manually in the weak form, such as u\_\theta^2/r, -u\_r/r^2, -u\_\theta/r^2, and -u\_r u\_\theta/r.

My question is:

Is this the correct way to use convect() for an axisymmetric cylindrical-coordinate formulation in FreeFEM, or is convect() only intended for standard Cartesian 2D problems?

Thank you.

---

<div class="post-metadata">

**Author:** ![fb77](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.freefem.org/fb77/32/3796_2.png) [@fb77](https://community.freefem.org/u/fb77)\
**Post date:** [April 3, 2026, 8:48am UTC](https://community.freefem.org/t/questions-about-using-convect-in-an-axisymmetric-z-r-formulation/4248/2 "2026-04-03T08:48:15Z")

</div>

Hello,  
convect is shaped for a cartesian problem, but there is no reason not to use it in axisymmetric geometry. Your formulas look correct.  
Indeed in general when you write `vA=convect([uz,ur],-dt,v)` you have that `(vA-v)/dt` is an approximation (for small dt) of -(u\_z\partial\_x v+u\_r\partial\_y v). Then you just have to check that all the terms in your axisymmetric equations are well represented in your formulation of the scheme.
