         //Nzn = unsigned(Nz*pow(2,i));
         //Nxn = (unsigned)ceil(Nx*pow(2,(double)(i*2./n)));
         //Nyn = (unsigned)ceil(Ny*pow(2,(double)(i*2./n)));
-        //solovev::ConformalRingGrid3d<dg::DVec> g3d(gp, psi_0, psi_1, n, Nxn, Nyn,Nzn, dg::DIR);
-        //solovev::ConformalRingGrid2d<dg::DVec> g2d = g3d.perp_grid();
-        solovev::OrthogonalRingGrid3d<dg::DVec> g3d(gp, psi_0, psi_1, n, Nxn, Nyn,Nzn, dg::DIR);
-        solovev::OrthogonalRingGrid2d<dg::DVec> g2d = g3d.perp_grid();
+        //conformal::RingGrid3d<dg::DVec> g3d(gp, psi_0, psi_1, n, Nxn, Nyn,Nzn, dg::DIR);
+        //conformal::RingGrid2d<dg::DVec> g2d = g3d.perp_grid();
+        orthogonal::RingGrid3d<dg::DVec> g3d(gp, psi_0, psi_1, n, Nxn, Nyn,Nzn, dg::DIR);
+        orthogonal::RingGrid2d<dg::DVec> g2d = g3d.perp_grid();
         g3d.display();
         //g2d.display();
         std::cout << "NR = " << Nxn << std::endl;

        dg::DMatrix dx = dg::create::dx( g3d);
        dg::DMatrix dy = dg::create::dy( g3d);
        dg::DMatrix dz = dg::create::dz( g3d);
        dg::HVec hbx(function), hby(function);
        dg::geo::pushForwardPerp( bhatR, bhatZ, hbx, hby, g3d);
        const dg::DVec bx(hbx), by(hby);
        dg::blas2::symv( dx, lnB, derivative);

#include "orthogonal.h"
#include "dg/ds.h"

//typedef dg::FieldAligned< conformal::RingGrid3d<dg::DVec> , dg::IDMatrix, dg::DVec> DFA;
typedef dg::FieldAligned< orthogonal::RingGrid3d<dg::DVec> , dg::IDMatrix, dg::DVec> DFA;

int main( )
{
