The default arguments(and configuration) should work seamlessly.
Environment env( _argc=argc, _argv=argv,
_desc=feel_options(),
_about=about(_name=
#if defined(FEELPP_POLAR)
"laplacian_polar",
#else
"laplacian_cartesian",
#endif
_author="Feel++ Consortium",
_email="feelpp-devel@feelpp.org"));
typedef Mesh<Simplex<2> > mesh_type;
auto mesh = loadMesh( _mesh=new mesh_type );
auto Vh = Pch<1>( mesh );
LOG(INFO) << "dim Vh : " << Vh->nDof();
auto u = Vh->element();
auto v = Vh->element();
#if FEELPP_POLAR
auto eta1=Px();
auto eta2=Py();
auto Jacmat=mat<2,2> (cos(eta2),-eta1*sin(eta2),sin(eta2),eta1*cos(eta2));
auto Jac=det(Jacmat);
#else
auto eta1=sqrt(Px()*Px()+Py()*Py());
auto eta2=acos(Px()/eta1);
auto Jacmat=mat<2,2> (cst(1.),cst(0.),cst(0.), cst(1.));
auto Jac=det(Jacmat);
#endif
auto Jacmatinv=inv(Jacmat);
auto Jacmattrans=trans(Jacmat);
auto Jacmattransinv=inv(Jacmattrans);
auto uexact = pow(eta1,4./3.)*sin(4*eta2/3);
auto l = form1( _test=Vh );
auto a = form2( _trial=Vh, _test=Vh );
a = integrate(_range=elements(mesh),
_expr=trans(Jacmattransinv*trans(gradt(u)))*(Jacmattransinv*trans(grad(v)))*Jac );
a+=on(_range=boundaryfaces(mesh), _rhs=l, _element=u,
_expr=uexact );
a.solve(_rhs=l,_solution=u);
LOG(INFO) << "Error L2 norm: " << normL2( _range=elements(mesh), _expr=uexact-idv(u));
auto e = exporter( _mesh=mesh );
e->add( "u", u );
e->save();