 template< class container>
 Feltor< container>::Feltor( const dg::Grid3d<value_type>& g, Parameters p, solovev::GeomParameters gp): 
     chi( g.size(), 0.), omega(chi),
-#if def APAR
-    rho( grid.size(), 0.),    
-#endif
     binv( dg::evaluate(solovev::Field(gp) , g) ),
     curvR( dg::evaluate( solovev::CurvatureR(gp), g)),
     curvZ( dg::evaluate(solovev::CurvatureZ(gp), g)),

//     source( dg::evaluate( solovev::Gradient(gp), g)),
     source( dg::evaluate(solovev::TanhSource(gp, p.amp_source), g)),
    damping( dg::evaluate( solovev::TanhDamping(gp ), g)), 
    phi( 2, chi), curvphi( phi), dzphi(phi), expy(phi),  
#if def APAR
    arakAN( phi), arakAU( phi), u(phi),   
#endif
    dzy( 4, chi), curvy(dzy),
    A (dg::create::laplacianM_perp( g, dg::not_normed, dg::symmetric)),
    dz(solovev::Field(gp), g, gp.rk4eps),

    //std::cout<< "Polarisation assembly took "<<t.diff()<<"s\n";
#endif 
    dg::blas1::axpby( -1., expy[0], 1., omega); //n_i-n_e
    unsigned number = invert_pol( pol, phi[0], omega, w3d, v3d);
    if( number == invert_pol.get_max())
        throw dg::Fail( p.eps_pol);
    return phi[0];
}

template< class container>
void Feltor< container>::operator()( std::vector<container>& y, std::vector<container>& yp)
{
